Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ Jenkinsfile	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -155,5 +155,5 @@
 			dir (BuildDir) {
 				//Run the tests from the tests directory
-				sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" tests debug=yes archiveerrors=${BuildDir}/tests/crashes/full-debug"""
+				sh """make ${jopt} --no-print-directory -C tests timeout=600 global-timeout=14400 tests debug=yes archive-errors=${BuildDir}/tests/crashes/full-debug"""
 			}
 		}
@@ -162,5 +162,5 @@
 			dir (BuildDir) {
 				//Run the tests from the tests directory
-				sh """make ${jopt} --no-print-directory -C tests timeouts="--timeout=600 --global-timeout=14400" tests debug=no archiveerrors=${BuildDir}/tests/crashes/full-nodebug"""
+				sh """make ${jopt} --no-print-directory -C tests timeout=600 global-timeout=14400 tests debug=no archive-errors=${BuildDir}/tests/crashes/full-nodebug"""
 			}
 		}
Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ benchmark/Makefile.am	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 09:08:15 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Tue Mar 10 11:41:18 2020
-## Update Count     : 258
+## Last Modified On : Fri May 26 12:13:48 2023
+## Update Count     : 260
 ###############################################################################
 
@@ -374,20 +374,20 @@
 ## =========================================================================================================
 
-mutexStmt$(EXEEXT) :		    \
-	mutexStmt-cpp1.run			\
-	mutexStmt-cpp2.run			\
-	mutexStmt-cpp4.run			\
-	mutexStmt-cpp8.run			\
-	mutexStmt-java.run			\
-	mutexStmt-lock1.run		    \
-	mutexStmt-lock2.run		    \
-	mutexStmt-lock4.run		    \
-	mutexStmt-lock8.run		    \
-	mutexStmt-no-stmt-lock1.run \
-	mutexStmt-no-stmt-lock2.run \
-	mutexStmt-no-stmt-lock4.run \
-	mutexStmt-no-stmt-lock8.run \
-	mutexStmt-monitor1.run      \
-	mutexStmt-monitor2.run      \
+mutexStmt$(EXEEXT) :			\
+	mutexStmt-cpp1.run		\
+	mutexStmt-cpp2.run		\
+	mutexStmt-cpp4.run		\
+	mutexStmt-cpp8.run		\
+	mutexStmt-java.run		\
+	mutexStmt-lock1.run		\
+	mutexStmt-lock2.run		\
+	mutexStmt-lock4.run		\
+	mutexStmt-lock8.run		\
+	mutexStmt-no-stmt-lock1.run	\
+	mutexStmt-no-stmt-lock2.run	\
+	mutexStmt-no-stmt-lock4.run	\
+	mutexStmt-no-stmt-lock8.run	\
+	mutexStmt-monitor1.run		\
+	mutexStmt-monitor2.run		\
 	mutexStmt-monitor4.run
 
@@ -567,5 +567,5 @@
 	compile-array.make	\
 	compile-attributes.make	\
-	compile-empty.make  	\
+	compile-empty.make	\
 	compile-expression.make	\
 	compile-io.make		\
@@ -592,5 +592,5 @@
 
 compile-monitor$(EXEEXT):
-	$(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/monitor.cfa
+	$(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrency/monitor.cfa
 
 compile-operators$(EXEEXT):
@@ -598,5 +598,5 @@
 
 compile-thread$(EXEEXT):
-	$(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrent/thread.cfa
+	$(CFACOMPILE) -DNO_COMPILED_PRAGMA -fsyntax-only -w $(testdir)/concurrency/thread.cfa
 
 compile-typeof$(EXEEXT):
Index: tests/.expect/array-ERR1.txt
===================================================================
--- tests/.expect/array-ERR1.txt	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/.expect/array-ERR1.txt	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -1,3 +1,3 @@
-array.cfa:105:25: warning: Preprocessor started
+array.cfa:119:25: warning: Preprocessor started
 array.cfa:40:22: error: '[*]' not allowed in other than function prototype scope
 array.cfa:46:24: error: '[*]' not allowed in other than function prototype scope
Index: tests/.expect/array-ERR2.txt
===================================================================
--- tests/.expect/array-ERR2.txt	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/.expect/array-ERR2.txt	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -1,2 +1,2 @@
-array.cfa:105:25: warning: Preprocessor started
-array.cfa:95:32: error: syntax error, unexpected STATIC before token "static"
+array.cfa:119:25: warning: Preprocessor started
+array.cfa:109:32: error: syntax error, unexpected STATIC before token "static"
Index: tests/.expect/array-ERR3.txt
===================================================================
--- tests/.expect/array-ERR3.txt	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/.expect/array-ERR3.txt	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -1,2 +1,2 @@
-array.cfa:105:25: warning: Preprocessor started
-array.cfa:96:32: error: syntax error, unexpected ']' before token "]"
+array.cfa:119:25: warning: Preprocessor started
+array.cfa:110:32: error: syntax error, unexpected ']' before token "]"
Index: tests/.expect/array.txt
===================================================================
--- tests/.expect/array.txt	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/.expect/array.txt	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -1,1 +1,1 @@
-array.cfa:105:25: warning: Preprocessor started
+array.cfa:119:25: warning: Preprocessor started
Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/Makefile.am	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 09:08:15 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Fri May 26 08:23:09 2023
-## Update Count     : 179
+## Last Modified On : Sun May 28 08:15:43 2023
+## Update Count     : 196
 ###############################################################################
 
@@ -26,11 +26,11 @@
 ARCH = ${if ${arch},"--arch=${arch}"}
 arch_support = "x86/x64/arm"
+TIMEOUT = ${if ${timeout},"--timeout=${timeout}"}
+GLOBAL_TIMEOUT = ${if ${global-timeout},"--global-timeout=${global-timeout}"}
+ARCHIVE_ERRORS = ${if ${archive-errors},"--archive-errors=${archive-errors}"}
+
 DEBUG_FLAGS = -debug -g -O0
 
 quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes meta/dumpable
-
-archiveerrors=
-concurrent=
-timeouts=
 
 TEST_PY = python3 ${builddir}/test.py
@@ -67,5 +67,5 @@
 PRETTY_PATH = mkdir -p ${dir ${abspath ${@}}} && cd ${srcdir} &&
 
-.PHONY : list .validate .test_makeflags
+.PHONY : concurrency list .validate .test_makeflags
 .INTERMEDIATE : .validate .validate.cfa .test_makeflags
 EXTRA_PROGRAMS = avl_test linkonce linking/mangling/anon .dummy_hack # build but do not install
@@ -90,5 +90,5 @@
 	concurrency/clib.c \
 	concurrency/unified_locking/mutex_test.hfa \
-	concurrentcy/channels/parallel_harness.hfa
+	concurrency/channels/parallel_harness.hfa
 
 dist-hook:
@@ -109,30 +109,31 @@
 #----------------------------------------------------------------------------------------------------------------
 
+# '@' => do not echo command (SILENT), '+' => allows recursive make from within python program
 all-local : # This name is important to automake and implies the default build target.
-	@+${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
-
-install : all-local # PAB only
-
-tests : all-local
+	@+${TEST_PY} --debug=${debug} --install=${installed} --invariant ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} --all
+
+tests : all-local # synonym
+
+install : all-local  # synonym, PAB only
 
 quick :
-	@+${TEST_PY} --debug=${debug} --install=${installed} --archive-errors=${archiveerrors} ${concurrent} ${timeouts} ${ARCH} ${quick_test}
+	@+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${ARCH} ${quick_test}
 
 concurrency :
-	@+${TEST_PY} --debug=${debug} --install=${installed} ${ARCH} -Iconcurrent
+	@+${TEST_PY} --debug=${debug} --install=${installed} ${ARCHIVE_ERRORS} ${TIMEOUT} ${GLOBAL_TIMEOUT} ${ARCH} -Iconcurrency
 
 list :
-	@+${TEST_PY} --list ${concurrent}
+	@+${TEST_PY} --list
 
 help :
 	@echo "user targets:"
 	@echo "    Run the complete test suite."
-	@echo "    $$ make (null) / tests [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
+	@echo "    $$ make (null) / tests [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]"
 	@echo ""
 	@echo "    Run the short (quick) test suite."
-	@echo "    $$ make quick [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
+	@echo "    $$ make quick [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [arch=${arch_support}]"
 	@echo ""
-	@echo "    Run the concurrent test suite."
-	@echo "    $$ make concurrency [debug=yes/no] [installed=yes/no] [arch=${arch_support}]"
+	@echo "    Run the concurrency test suite."
+	@echo "    $$ make concurrency [debug=yes/no] [installed=yes/no] [archive-errors=dump-dir] [timeout=seconds] [global-timeout=seconds] [arch=${arch_support}]"
 	@echo ""
 	@echo "    List all tests in the test suite."
Index: tests/array.cfa
===================================================================
--- tests/array.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/array.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -81,21 +81,35 @@
     }
     [ * [int]( [3] int T,
-            [const 3] int p1,
-            [static 3] int p2,
-            [static const 3] int p3
-            )
+               [const 3] int p1,
+               [static 3] int p2,
+               [static const 3] int p3
+             )
     ] janes_twin(...) {
     }
     #endif
 
+    // GCC 11+ gives a false warning (-Wvla-parameter) on the valid (C11 ARM p134-135) combination:
+    // declare with type int[*], define with type int[n].
+    // https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100420 suggests the internal representation of
+    // of a[*] is the same as a[0].
+    // https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wno-vla-parameter explains
+    // the purpose of -Wvla-parameter is to report conflicts between int[] and int[n], which would
+    // understandably also include those between int[42] and int[n].
+    // https://stackoverflow.com/questions/17371645/why-use-an-asterisk-instead-of-an-integer-for-a-vla-array-parameter-of-a-f
+    // explains the declare-*, define-n pattern.
 
-//  int fm1( int, int, int[][*] );                      // TODO: investigate gcc-11 warning 
-//  int fm1( int r, int c, int m[][c] ) {}
+    // To work around the false warning, and keep to this test's purpose of exercising CFA's
+    // handling of exotic C array syntax, what would ideally be demonstrated as a declaration of
+    // fm1, followed by its definition, is instead split into fm1x and fm1y.  And similarly for
+    // fm5.
+
+    int fm1x( int, int, int[][*] );
+    int fm1y( int r, int c, int m[][c] ) {}
     int fm2( int r, int c, int (*m)[c] ) {}             // same as fm1
 E2( int fm3( int r, int c, int m[][static c] ) {}  )    // that's not static
 E3( int fm4( int r, int c, int m[][] );            )    // m's immediate element type is incomplete
-    int fm5( int, int, int[*][*] );                     // same as fm1 decl
+    int fm5x( int, int, int[*][*] );                    // same as fm1 decl
                                                         #ifndef __cforall
-    int fm5( int r, int c, int m[r][c] ) {}             // BUG 276: CFA chokes but should accept
+    int fm5y( int r, int c, int m[r][c] ) {}            // BUG 276: CFA chokes but should accept
                                                         // C: same as fm1 defn
                                                         #endif
Index: tests/concurrency/barrier/gen_generation_expect.cfa
===================================================================
--- tests/concurrency/barrier/gen_generation_expect.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/barrier/gen_generation_expect.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrent/barrier/generation
+// gen_generation_expect.cfa -- simple 'script' generates the expect file for concurrency/barrier/generation
 //
 // Author           : Thierry Delisle
Index: tests/concurrency/barrier/generation.cfa
===================================================================
--- tests/concurrency/barrier/generation.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/barrier/generation.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,6 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// concurrent/barrier/generation.cfa -- simple test that validates barriers by printing
-//                                      alphabetical generations
+// generation.cfa -- simple test that validates barriers by printing alphabetical generations
 //
 // Author           : Thierry Delisle
Index: tests/concurrency/barrier/last.cfa
===================================================================
--- tests/concurrency/barrier/last.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/barrier/last.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// concurrent/barrier/last.cfa -- validates barrier's last hook functionality
+// last.cfa -- validates barrier's last hook functionality
 //
 // Author           : Thierry Delisle
Index: tests/concurrency/barrier/order.cfa
===================================================================
--- tests/concurrency/barrier/order.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/barrier/order.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// concurrent/barrier/order.cfa -- validates barriers the return value of
+// order.cfa -- validates barriers the return value of
 //                                 barrier block
 //
Index: tests/concurrency/readyQ/barrier_sleeper.cfa
===================================================================
--- tests/concurrency/readyQ/barrier_sleeper.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/readyQ/barrier_sleeper.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// concurrent/readyQ/barrier_sleeper.cfa -- testing the ready-queue
+// barrier_sleeper.cfa -- testing the ready-queue
 //
 // Author           : Thierry Delisle
Index: tests/concurrency/readyQ/leader_spin.cfa
===================================================================
--- tests/concurrency/readyQ/leader_spin.cfa	(revision 6c121eed6f4c0f793dca1e69b669f683bcfdfe3e)
+++ tests/concurrency/readyQ/leader_spin.cfa	(revision 4d5c855212f4136ba22229305f4969fbae376ef8)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// concurrent/readyQ/leader_spin.cfa -- validates ready queue fairness
+// leader_spin.cfa -- validates ready queue fairness
 //
 // Author           : Thierry Delisle
