Changeset 4d5c855


Ignore:
Timestamp:
May 29, 2023, 10:28:46 AM (18 months ago)
Author:
caparsons <caparson@…>
Branches:
ast-experimental, master
Children:
f77f648d
Parents:
6c121eed (diff), 5007618 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
14 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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):
  • tests/.expect/array-ERR1.txt

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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

    r6c121eed r4d5c855  
    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.