Changes in / [44198fb9:2cb8bf71]


Ignore:
Files:
2 added
22 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r44198fb9 r2cb8bf71  
    155155                        dir (BuildDir) {
    156156                                //Run the tests from the tests directory
    157                                 sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug"""
     157                                sh """make ${jopt} --no-print-directory -C tests timeout=600 global-timeout=14400 tests debug=yes archive-errors=${BuildDir}/tests/crashes/full-debug"""
    158158                        }
    159159                }
     
    162162                        dir (BuildDir) {
    163163                                //Run the tests from the tests directory
    164                                 sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" tests debug=no archiveerrors=${BuildDir}/tests/crashes/full-nodebug"""
     164                                sh """make ${jopt} --no-print-directory -C tests timeout=600 global-timeout=14400 tests debug=no archive-errors=${BuildDir}/tests/crashes/full-nodebug"""
    165165                        }
    166166                }
  • benchmark/Makefile.am

    r44198fb9 r2cb8bf71  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Tue Mar 10 11:41:18 2020
    14 ## Update Count     : 258
     13## Last Modified On : Fri May 26 12:13:48 2023
     14## Update Count     : 260
    1515###############################################################################
    1616
     
    374374## =========================================================================================================
    375375
    376 mutexStmt$(EXEEXT) :                \
    377         mutexStmt-cpp1.run                      \
    378         mutexStmt-cpp2.run                      \
    379         mutexStmt-cpp4.run                      \
    380         mutexStmt-cpp8.run                      \
    381         mutexStmt-java.run                      \
    382         mutexStmt-lock1.run                 \
    383         mutexStmt-lock2.run                 \
    384         mutexStmt-lock4.run                 \
    385         mutexStmt-lock8.run                 \
    386         mutexStmt-no-stmt-lock1.run \
    387         mutexStmt-no-stmt-lock2.run \
    388         mutexStmt-no-stmt-lock4.run \
    389         mutexStmt-no-stmt-lock8.run \
    390         mutexStmt-monitor1.run      \
    391         mutexStmt-monitor2.run      \
     376mutexStmt$(EXEEXT) :                    \
     377        mutexStmt-cpp1.run              \
     378        mutexStmt-cpp2.run              \
     379        mutexStmt-cpp4.run              \
     380        mutexStmt-cpp8.run              \
     381        mutexStmt-java.run              \
     382        mutexStmt-lock1.run             \
     383        mutexStmt-lock2.run             \
     384        mutexStmt-lock4.run             \
     385        mutexStmt-lock8.run             \
     386        mutexStmt-no-stmt-lock1.run     \
     387        mutexStmt-no-stmt-lock2.run     \
     388        mutexStmt-no-stmt-lock4.run     \
     389        mutexStmt-no-stmt-lock8.run     \
     390        mutexStmt-monitor1.run          \
     391        mutexStmt-monitor2.run          \
    392392        mutexStmt-monitor4.run
    393393
     
    567567        compile-array.make      \
    568568        compile-attributes.make \
    569         compile-empty.make      \
     569        compile-empty.make      \
    570570        compile-expression.make \
    571571        compile-io.make         \
     
    592592
    593593compile-monitor$(EXEEXT):
    594         $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/monitor.cfa
     594        $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrency/monitor.cfa
    595595
    596596compile-operators$(EXEEXT):
     
    598598
    599599compile-thread$(EXEEXT):
    600         $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/thread.cfa
     600        $(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrency/thread.cfa
    601601
    602602compile-typeof$(EXEEXT):
  • doc/theses/colby_parsons_MMAth/benchmarks/waituntil/run

    r44198fb9 r2cb8bf71  
    9494
    9595chan_size='10'
     96future_time='10'
    9697
    9798# toggle benchmarks
     
    99100contend=${true}
    100101sidechan=${true}
    101 # spin=${false}
    102 # contend=${false}
    103 # sidechan=${false}
     102future=${true}
     103spin=${false}
     104contend=${false}
     105sidechan=${false}
     106# future=${false}
    104107
    105108runCFA=${true}
    106109runGO=${true}
     110runUCPP=${true}
    107111# runCFA=${false}
    108 # runGO=${false}
     112runGO=${false}
     113# runUCPP=${false}
    109114
    110115cfa=~/cfa-cc/driver/cfa
     
    158163}
    159164
     165run_future() {
     166    for p in ${num_threads} ; do
     167        pre_args=$(( ${p} - 1 ))
     168        affinity ${p}
     169        preprint="${p}\t"
     170        repeat_command taskset -c ${taskset} ./a.${hostname} ${pre_args} ${post_args}
     171    done
     172}
     173
    160174arch # get hostname
    161175
     
    177191# cfa flags
    178192cfa_flags='-quiet -O3 -nodebug -DNDEBUG'
     193
     194# UCPP flags
     195UCPPflags="-quiet -g -Wall -Wextra -O3 -nodebug -DNDEBUG -multi"
     196UCPP=~/ucpp/u++-7.0.0/bin/u++
    179197
    180198# run the benchmarks
     
    243261fi
    244262
     263if [ ${future} -eq ${true} ] ; then
     264    echo "future: "
     265    post_args=${future_time}
     266    if [ ${runCFA} -eq ${true} ] ; then
     267        cd cfa # CFA RUN
     268        print_header 'CFA'
     269        ${cfa} ${cfa_flags} future.cfa -o a.${hostname} > /dev/null 2>&1
     270        run_future
     271        rm a.${hostname}
     272        cd - > /dev/null
     273    fi # done CFA
     274
     275    if [ ${runUCPP} -eq ${true} ] ; then
     276        cd ucpp
     277        print_header 'uC++'
     278        ${UCPP} ${UCPPflags} future.cc -o a.${hostname} > /dev/null 2>&1
     279        run_future
     280        rm a.${hostname}
     281        cd - > /dev/null
     282    fi # done Go
     283fi
     284
  • src/AST/Pass.impl.hpp

    r44198fb9 r2cb8bf71  
    4646
    4747#ifdef PEDANTIC_PASS_ASSERT
    48 #define __pedantic_pass_assert(...) assert (__VA_ARGS__)
     48#define __pedantic_pass_assert(...) assert(__VA_ARGS__)
    4949#define __pedantic_pass_assertf(...) assertf(__VA_ARGS__)
    5050#else
  • src/AST/Pass.proto.hpp

    r44198fb9 r2cb8bf71  
    2727
    2828#ifdef PEDANTIC_PASS_ASSERT
    29 #define __pedantic_pass_assert(...) assert (__VA_ARGS__)
     29#define __pedantic_pass_assert(...) assert(__VA_ARGS__)
    3030#define __pedantic_pass_assertf(...) assertf(__VA_ARGS__)
    3131#else
  • src/Concurrency/Waituntil.cpp

    r44198fb9 r2cb8bf71  
    940940        }
    941941
    942     // C_TODO: will remove this commented code later. Currently it isn't needed but may switch to a modified version of this later if it has better performance
    943     // std::vector<ptr<CaseClause>> switchCases;
    944 
    945     // int idx = 0;
    946     // for ( const auto & clause: stmt->clauses ) {
    947     //     const CodeLocation & cLoc = clause->location;
    948     //     switchCases.push_back(
    949     //         new CaseClause( cLoc,
    950     //             new CastExpr( cLoc,
    951     //                 new AddressExpr( cLoc, new NameExpr( cLoc, data.at(idx)->targetName ) ),
    952     //                 new BasicType( BasicType::Kind::LongUnsignedInt ), GeneratedFlag::ExplicitCast
    953     //             ),
    954     //             {
    955     //                 new CompoundStmt( cLoc,
    956     //                     {
    957     //                         ast::deepCopy( clause->stmt ),
    958     //                         new BranchStmt( cLoc, BranchStmt::Kind::Break, Label( cLoc ) )
    959     //                     }
    960     //                 )
    961     //             }
    962     //         )
    963     //     );
    964     //     idx++;
    965     // }
    966 
    967942    return new CompoundStmt( loc,
    968943        {
    969944            new ExprStmt( loc, new UntypedExpr( loc, new NameExpr( loc, "park" ) ) ),
    970945            outerIf
    971             // new SwitchStmt( loc,
    972             //     new NameExpr( loc, statusName ),
    973             //     std::move( switchCases )
    974             // )
    975946        }
    976947    );
     
    1015986    const CodeLocation & cLoc = stmt->clauses.at(idx)->location;
    1016987
     988    Expr * baseCond = genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" );
    1017989    Expr * ifCond;
    1018990
     
    1025997            ),
    1026998            new CastExpr( cLoc,
    1027                 genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" ),
     999                baseCond,
    10281000                new BasicType( BasicType::Kind::Bool ), GeneratedFlag::ExplicitCast
    10291001            ),
    10301002            LogicalFlag::AndExpr
    10311003        );
    1032     } else ifCond = genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" );
     1004    } else ifCond = baseCond;
    10331005
    10341006    return new CompoundStmt( cLoc,
  • src/SymTab/Autogen.h

    r44198fb9 r2cb8bf71  
    2020#include <string>                 // for string
    2121
    22 #include "AST/Decl.hpp"
    23 #include "AST/Expr.hpp"
    24 #include "AST/Init.hpp"
    25 #include "AST/Node.hpp"
    26 #include "AST/Stmt.hpp"
    27 #include "AST/Type.hpp"
    2822#include "CodeGen/OperatorTable.h"
    2923#include "Common/UniqueName.h"    // for UniqueName
     
    5751        /// maybePolymorphic is true if the resulting FunctionType is allowed to be polymorphic
    5852        FunctionType * genCopyType( Type * paramType, bool maybePolymorphic = true );
    59 
    60         /// Enum for loop direction
    61         enum LoopDirection { LoopBackward, LoopForward };
    6253
    6354        /// inserts into out a generated call expression to function fname with arguments dstParam and srcParam. Intended to be used with generated ?=?, ?{}, and ^?{} calls.
  • src/SymTab/GenImplicitCall.cpp

    r44198fb9 r2cb8bf71  
    1616#include "GenImplicitCall.hpp"
    1717
     18#include "AST/Decl.hpp"                  // for ObjectDecl
     19#include "AST/Expr.hpp"                  // for ConstantExpr, UntypedExpr,...
     20#include "AST/Init.hpp"                  // for SingleInit
    1821#include "AST/Inspect.hpp"               // for isUnnamedBitfield
     22#include "AST/Stmt.hpp"                  // for ExprStmt
     23#include "AST/Type.hpp"                  // for ArrayType, BasicType, ...
    1924#include "CodeGen/OperatorTable.h"       // for isCtorDtor
    2025#include "Common/UniqueName.h"           // for UniqueName
    2126
    2227namespace SymTab {
     28
     29namespace {
    2330
    2431template< typename OutIter >
     
    173180}
    174181
     182} // namespace
     183
    175184ast::ptr< ast::Stmt > genImplicitCall(
    176185        InitTweak::InitExpander_new & srcParam, const ast::Expr * dstParam,
  • src/SymTab/GenImplicitCall.hpp

    r44198fb9 r2cb8bf71  
    1717
    1818#include "InitTweak/InitTweak.h"  // for InitExpander
    19 #include "SymTab/Autogen.h"       // for LoopDirection
    2019
    2120namespace SymTab {
    2221
     22/// Enum for loop direction
     23enum LoopDirection { LoopBackward, LoopForward };
     24
     25/// Returns a generated call expression to function fname with srcParam and
     26/// dstParam. Intended to be used with generated ?=?, ?{}, and ^?{} calls.
    2327ast::ptr<ast::Stmt> genImplicitCall(
    2428        InitTweak::InitExpander_new & srcParam, const ast::Expr * dstParam,
     
    3438// compile-command: "make install" //
    3539// End: //
    36 
  • src/Validate/Autogen.cpp

    r44198fb9 r2cb8bf71  
    4444#include "CompilationState.h"
    4545
    46 // TODO: The other new ast function should be moved over to this file.
    47 #include "SymTab/Autogen.h"
    48 
    4946namespace Validate {
    5047
     
    9693
    9794        const CodeLocation& getLocation() const { return getDecl()->location; }
    98         ast::FunctionDecl * genProto( const std::string& name,
     95        ast::FunctionDecl * genProto( std::string&& name,
    9996                std::vector<ast::ptr<ast::DeclWithType>>&& params,
    10097                std::vector<ast::ptr<ast::DeclWithType>>&& returns ) const;
     
    337334}
    338335
     336void replaceAll( std::vector<ast::ptr<ast::DeclWithType>> & dwts,
     337                const ast::DeclReplacer::TypeMap & map ) {
     338        for ( auto & dwt : dwts ) {
     339                dwt = strict_dynamic_cast<const ast::DeclWithType *>(
     340                                ast::DeclReplacer::replace( dwt, map ) );
     341        }
     342}
     343
    339344/// Generates a basic prototype function declaration.
    340 ast::FunctionDecl * FuncGenerator::genProto( const std::string& name,
     345ast::FunctionDecl * FuncGenerator::genProto( std::string&& name,
    341346                std::vector<ast::ptr<ast::DeclWithType>>&& params,
    342347                std::vector<ast::ptr<ast::DeclWithType>>&& returns ) const {
     
    344349        // Handle generic prameters and assertions, if any.
    345350        auto const & old_type_params = getGenericParams( type );
     351        ast::DeclReplacer::TypeMap oldToNew;
    346352        std::vector<ast::ptr<ast::TypeDecl>> type_params;
    347353        std::vector<ast::ptr<ast::DeclWithType>> assertions;
    348354        for ( auto & old_param : old_type_params ) {
    349355                ast::TypeDecl * decl = ast::deepCopy( old_param );
    350                 for ( auto assertion : decl->assertions ) {
    351                         assertions.push_back( assertion );
    352                 }
    353                 decl->assertions.clear();
     356                decl->init = nullptr;
     357                splice( assertions, decl->assertions );
     358                oldToNew.emplace( std::make_pair( old_param, decl ) );
    354359                type_params.push_back( decl );
    355360        }
    356         // TODO: The values in params and returns still may point at the old
    357         // generic params, that does not appear to be an issue but perhaps it
    358         // should be addressed.
     361        replaceAll( params, oldToNew );
     362        replaceAll( returns, oldToNew );
     363        replaceAll( assertions, oldToNew );
    359364
    360365        ast::FunctionDecl * decl = new ast::FunctionDecl(
    361366                // Auto-generated routines use the type declaration's location.
    362367                getLocation(),
    363                 name,
     368                std::move( name ),
    364369                std::move( type_params ),
    365370                std::move( assertions ),
  • tests/.expect/array-ERR1.txt

    r44198fb9 r2cb8bf71  
    1 array.cfa:105:25: warning: Preprocessor started
     1array.cfa:119:25: warning: Preprocessor started
    22array.cfa:40:22: error: '[*]' not allowed in other than function prototype scope
    33array.cfa:46:24: error: '[*]' not allowed in other than function prototype scope
  • tests/.expect/array-ERR2.txt

    r44198fb9 r2cb8bf71  
    1 array.cfa:105:25: warning: Preprocessor started
    2 array.cfa:95:32: error: syntax error, unexpected STATIC before token "static"
     1array.cfa:119:25: warning: Preprocessor started
     2array.cfa:109:32: error: syntax error, unexpected STATIC before token "static"
  • tests/.expect/array-ERR3.txt

    r44198fb9 r2cb8bf71  
    1 array.cfa:105:25: warning: Preprocessor started
    2 array.cfa:96:32: error: syntax error, unexpected ']' before token "]"
     1array.cfa:119:25: warning: Preprocessor started
     2array.cfa:110:32: error: syntax error, unexpected ']' before token "]"
  • tests/.expect/array.txt

    r44198fb9 r2cb8bf71  
    1 array.cfa:105:25: warning: Preprocessor started
     1array.cfa:119:25: warning: Preprocessor started
  • tests/Makefile.am

    r44198fb9 r2cb8bf71  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Fri May 26 08:23:09 2023
    14 ## Update Count     : 179
     13## Last Modified On : Sun May 28 08:15:43 2023
     14## Update Count     : 196
    1515###############################################################################
    1616
     
    2626ARCH = ${if ${arch},"--arch=${arch}"}
    2727arch_support = "x86/x64/arm"
     28TIMEOUT = ${if ${timeout},"--timeout=${timeout}"}
     29GLOBAL_TIMEOUT = ${if ${global-timeout},"--global-timeout=${global-timeout}"}
     30ARCHIVE_ERRORS = ${if ${archive-errors},"--archive-errors=${archive-errors}"}
     31
    2832DEBUG_FLAGS = -debug -g -O0
    2933
    3034quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes meta/dumpable
    31 
    32 archiveerrors=
    33 concurrent=
    34 timeouts=
    3535
    3636TEST_PY = python3 ${builddir}/test.py
     
    6767PRETTY_PATH = mkdir -p ${dir ${abspath ${@}}} && cd ${srcdir} &&
    6868
    69 .PHONY : list .validate .test_makeflags
     69.PHONY : concurrency list .validate .test_makeflags
    7070.INTERMEDIATE : .validate .validate.cfa .test_makeflags
    7171EXTRA_PROGRAMS = avl_test linkonce linking/mangling/anon .dummy_hack # build but do not install
     
    9090        concurrency/clib.c \
    9191        concurrency/unified_locking/mutex_test.hfa \
    92         concurrentcy/channels/parallel_harness.hfa
     92        concurrency/channels/parallel_harness.hfa
    9393
    9494dist-hook:
     
    109109#----------------------------------------------------------------------------------------------------------------
    110110
     111# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
    111112all-local : # This name is important to automake and implies the default build target.
    112         @+${TEST_PY} --debug=${debug} --install=${installed} --invariant --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${ARCH} --all # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
    113 
    114 install : all-local # PAB only
    115 
    116 tests : all-local
     113        @+${TEST_PY} --debug=${debug} --install=${installed} --invariant ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} --all
     114
     115tests : all-local # synonym
     116
     117install : all-local  # synonym, PAB only
    117118
    118119quick :
    119         @+${TEST_PY} --debug=${debug} --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${ARCH} ${quick_test}
     120        @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${ARCH} ${quick_test}
    120121
    121122concurrency :
    122         @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCH} -Iconcurrent
     123        @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} -Iconcurrency
    123124
    124125list :
    125         @+${TEST_PY} --list ${concurrent}
     126        @+${TEST_PY} --list
    126127
    127128help :
    128129        @echo "user targets:"
    129130        @echo "    Run the complete test suite."
    130         @echo "    $$ make (null) / tests [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
     131        @echo "    $$ make (null) / tests [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]"
    131132        @echo ""
    132133        @echo "    Run the short (quick) test suite."
    133         @echo "    $$ make quick [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
     134        @echo "    $$ make quick [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [arch=${arch_support}]"
    134135        @echo ""
    135         @echo "    Run the concurrent test suite."
    136         @echo "    $$ make concurrency [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
     136        @echo "    Run the concurrency test suite."
     137        @echo "    $$ make concurrency [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]"
    137138        @echo ""
    138139        @echo "    List all tests in the test suite."
  • tests/array.cfa

    r44198fb9 r2cb8bf71  
    8181    }
    8282    [ * [int]( [3] int T,
    83             [const 3] int p1,
    84             [static 3] int p2,
    85             [static const 3] int p3
    86             )
     83               [const 3] int p1,
     84               [static 3] int p2,
     85               [static const 3] int p3
     86             )
    8787    ] janes_twin(...) {
    8888    }
    8989    #endif
    9090
     91    // GCC 11+ gives a false warning (-Wvla-parameter) on the valid (C11 ARM p134-135) combination:
     92    // declare with type int[*], define with type int[n].
     93    // https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100420 suggests the internal representation of
     94    // of a[*] is the same as a[0].
     95    // https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wno-vla-parameter explains
     96    // the purpose of -Wvla-parameter is to report conflicts between int[] and int[n], which would
     97    // understandably also include those between int[42] and int[n].
     98    // https://stackoverflow.com/questions/17371645/why-use-an-asterisk-instead-of-an-integer-for-a-vla-array-parameter-of-a-f
     99    // explains the declare-*, define-n pattern.
    91100
    92 //  int fm1( int, int, int[][*] );                      // TODO: investigate gcc-11 warning
    93 //  int fm1( int r, int c, int m[][c] ) {}
     101    // To work around the false warning, and keep to this test's purpose of exercising CFA's
     102    // handling of exotic C array syntax, what would ideally be demonstrated as a declaration of
     103    // fm1, followed by its definition, is instead split into fm1x and fm1y.  And similarly for
     104    // fm5.
     105
     106    int fm1x( int, int, int[][*] );
     107    int fm1y( int r, int c, int m[][c] ) {}
    94108    int fm2( int r, int c, int (*m)[c] ) {}             // same as fm1
    95109E2( int fm3( int r, int c, int m[][static c] ) {}  )    // that's not static
    96110E3( int fm4( int r, int c, int m[][] );            )    // m's immediate element type is incomplete
    97     int fm5( int, int, int[*][*] );                     // same as fm1 decl
     111    int fm5x( int, int, int[*][*] );                    // same as fm1 decl
    98112                                                        #ifndef __cforall
    99     int fm5( int r, int c, int m[r][c] ) {}             // BUG 276: CFA chokes but should accept
     113    int fm5y( int r, int c, int m[r][c] ) {}            // BUG 276: CFA chokes but should accept
    100114                                                        // C: same as fm1 defn
    101115                                                        #endif
  • tests/concurrency/barrier/gen_generation_expect.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrent/barrier/generation
     7// gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrency/barrier/generation
    88//
    99// Author           : Thierry Delisle
  • tests/concurrency/barrier/generation.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // concurrent/barrier/generation.cfa -- simple test that validates barriers by printing
    8 //                                      alphabetical generations
     7// generation.cfa -- simple test that validates barriers by printing alphabetical generations
    98//
    109// Author           : Thierry Delisle
  • tests/concurrency/barrier/last.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // concurrent/barrier/last.cfa -- validates barrier's last hook functionality
     7// last.cfa -- validates barrier's last hook functionality
    88//
    99// Author           : Thierry Delisle
  • tests/concurrency/barrier/order.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // concurrent/barrier/order.cfa -- validates barriers the return value of
     7// order.cfa -- validates barriers the return value of
    88//                                 barrier block
    99//
  • tests/concurrency/readyQ/barrier_sleeper.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // concurrent/readyQ/barrier_sleeper.cfa -- testing the ready-queue
     7// barrier_sleeper.cfa -- testing the ready-queue
    88//
    99// Author           : Thierry Delisle
  • tests/concurrency/readyQ/leader_spin.cfa

    r44198fb9 r2cb8bf71  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // concurrent/readyQ/leader_spin.cfa -- validates ready queue fairness
     7// leader_spin.cfa -- validates ready queue fairness
    88//
    99// Author           : Thierry Delisle
Note: See TracChangeset for help on using the changeset viewer.