- Timestamp:
- May 29, 2023, 10:28:46 AM (2 years ago)
- 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. - Location:
- tests
- Files:
-
- 12 edited
-
.expect/array-ERR1.txt (modified) (1 diff)
-
.expect/array-ERR2.txt (modified) (1 diff)
-
.expect/array-ERR3.txt (modified) (1 diff)
-
.expect/array.txt (modified) (1 diff)
-
Makefile.am (modified) (5 diffs)
-
array.cfa (modified) (1 diff)
-
concurrency/barrier/gen_generation_expect.cfa (modified) (1 diff)
-
concurrency/barrier/generation.cfa (modified) (1 diff)
-
concurrency/barrier/last.cfa (modified) (1 diff)
-
concurrency/barrier/order.cfa (modified) (1 diff)
-
concurrency/readyQ/barrier_sleeper.cfa (modified) (1 diff)
-
concurrency/readyQ/leader_spin.cfa (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tests/.expect/array-ERR1.txt
r6c121eed r4d5c8552 1 array.cfa:1 05:25: warning: Preprocessor started1 array.cfa:119:25: warning: Preprocessor started 2 2 array.cfa:40:22: error: '[*]' not allowed in other than function prototype scope 3 3 array.cfa:46:24: error: '[*]' not allowed in other than function prototype scope -
tests/.expect/array-ERR2.txt
r6c121eed r4d5c8552 1 array.cfa:1 05:25: warning: Preprocessor started2 array.cfa: 95:32: error: syntax error, unexpected STATIC before token "static"1 array.cfa:119:25: warning: Preprocessor started 2 array.cfa:109:32: error: syntax error, unexpected STATIC before token "static" -
tests/.expect/array-ERR3.txt
r6c121eed r4d5c8552 1 array.cfa:1 05:25: warning: Preprocessor started2 array.cfa: 96:32: error: syntax error, unexpected ']' before token "]"1 array.cfa:119:25: warning: Preprocessor started 2 array.cfa:110:32: error: syntax error, unexpected ']' before token "]" -
tests/.expect/array.txt
r6c121eed r4d5c8552 1 array.cfa:1 05:25: warning: Preprocessor started1 array.cfa:119:25: warning: Preprocessor started -
tests/Makefile.am
r6c121eed r4d5c8552 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Fri May 26 08:23:09202314 ## Update Count : 1 7913 ## Last Modified On : Sun May 28 08:15:43 2023 14 ## Update Count : 196 15 15 ############################################################################### 16 16 … … 26 26 ARCH = ${if ${arch},"--arch=${arch}"} 27 27 arch_support = "x86/x64/arm" 28 TIMEOUT = ${if ${timeout},"--timeout=${timeout}"} 29 GLOBAL_TIMEOUT = ${if ${global-timeout},"--global-timeout=${global-timeout}"} 30 ARCHIVE_ERRORS = ${if ${archive-errors},"--archive-errors=${archive-errors}"} 31 28 32 DEBUG_FLAGS = -debug -g -O0 29 33 30 34 quick_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=35 35 36 36 TEST_PY = python3 ${builddir}/test.py … … 67 67 PRETTY_PATH = mkdir -p ${dir ${abspath ${@}}} && cd ${srcdir} && 68 68 69 .PHONY : list .validate .test_makeflags69 .PHONY : concurrency list .validate .test_makeflags 70 70 .INTERMEDIATE : .validate .validate.cfa .test_makeflags 71 71 EXTRA_PROGRAMS = avl_test linkonce linking/mangling/anon .dummy_hack # build but do not install … … 90 90 concurrency/clib.c \ 91 91 concurrency/unified_locking/mutex_test.hfa \ 92 concurren tcy/channels/parallel_harness.hfa92 concurrency/channels/parallel_harness.hfa 93 93 94 94 dist-hook: … … 109 109 #---------------------------------------------------------------------------------------------------------------- 110 110 111 # '@' => do not echo command (SILENT), '+' => allows recursive make from within python program 111 112 all-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 program113 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 115 tests : all-local # synonym 116 117 install : all-local # synonym, PAB only 117 118 118 119 quick : 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} 120 121 121 122 concurrency : 122 @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCH } -Iconcurrent123 @+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} -Iconcurrency 123 124 124 125 list : 125 @+${TEST_PY} --list ${concurrent}126 @+${TEST_PY} --list 126 127 127 128 help : 128 129 @echo "user targets:" 129 130 @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}]" 131 132 @echo "" 132 133 @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}]" 134 135 @echo "" 135 @echo " Run the concurren ttest 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}]" 137 138 @echo "" 138 139 @echo " List all tests in the test suite." -
tests/array.cfa
r6c121eed r4d5c8552 81 81 } 82 82 [ * [int]( [3] int T, 83 [const 3] int p1,84 [static 3] int p2,85 [static const 3] int p386 )83 [const 3] int p1, 84 [static 3] int p2, 85 [static const 3] int p3 86 ) 87 87 ] janes_twin(...) { 88 88 } 89 89 #endif 90 90 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. 91 100 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] ) {} 94 108 int fm2( int r, int c, int (*m)[c] ) {} // same as fm1 95 109 E2( int fm3( int r, int c, int m[][static c] ) {} ) // that's not static 96 110 E3( int fm4( int r, int c, int m[][] ); ) // m's immediate element type is incomplete 97 int fm5 ( int, int, int[*][*] );// same as fm1 decl111 int fm5x( int, int, int[*][*] ); // same as fm1 decl 98 112 #ifndef __cforall 99 int fm5 ( int r, int c, int m[r][c] ) {}// BUG 276: CFA chokes but should accept113 int fm5y( int r, int c, int m[r][c] ) {} // BUG 276: CFA chokes but should accept 100 114 // C: same as fm1 defn 101 115 #endif -
tests/concurrency/barrier/gen_generation_expect.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gen_generation_expect.cfa -- simple 'script' generates the expect file for concurren t/barrier/generation7 // gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrency/barrier/generation 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/barrier/generation.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 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 9 8 // 10 9 // Author : Thierry Delisle -
tests/concurrency/barrier/last.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/barrier/last.cfa -- validates barrier's last hook functionality7 // last.cfa -- validates barrier's last hook functionality 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/barrier/order.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/barrier/order.cfa -- validates barriers the return value of7 // order.cfa -- validates barriers the return value of 8 8 // barrier block 9 9 // -
tests/concurrency/readyQ/barrier_sleeper.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/readyQ/barrier_sleeper.cfa -- testing the ready-queue7 // barrier_sleeper.cfa -- testing the ready-queue 8 8 // 9 9 // Author : Thierry Delisle -
tests/concurrency/readyQ/leader_spin.cfa
r6c121eed r4d5c8552 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // concurrent/readyQ/leader_spin.cfa -- validates ready queue fairness7 // leader_spin.cfa -- validates ready queue fairness 8 8 // 9 9 // Author : Thierry Delisle
Note:
See TracChangeset
for help on using the changeset viewer.