Index: INSTALL
===================================================================
--- INSTALL	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ INSTALL	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -11,4 +11,5 @@
   $ ./configure [ --prefix=/some/directory ]
   $ make -j 8 install
+  $ cfa
 
 For users using the distributed tarball / github:
@@ -16,6 +17,21 @@
   $ ./configure
   $ make -j 8 install
+  $ cfa
 
 where 8 is the number of CPUs on your computer.
+
+The above instructions produce an in-tree, installed build, where intermediate
+binaries share the same folders as their sources, and where the final result
+becomes an "official" CFA version for the current environment.  For developers
+preferring an isolated side-by-side build, where all binaries are separated
+from sources, where it is possible to build multiple configurations from a
+common set of sources, and where no "official" CFA version is designated:
+
+  $ ./autogen.sh
+  $ mkdir ../build
+  $ cd ../build
+  $ ../cfa-cc/configure
+  $ make -j 8
+  $ ./driver/cfa
 
 
Index: doc/dev/README
===================================================================
--- doc/dev/README	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ doc/dev/README	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,1 @@
+These documents provide instructions for CFA developers.
Index: doc/dev/getting-started.md
===================================================================
--- doc/dev/getting-started.md	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ doc/dev/getting-started.md	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,77 @@
+Getting Set Up as a CFA Developer
+=================================
+
+
+Joining the Core Team
+---------------------
+
+If you are a new student on Peter Buhr's research team (or playing a similar "embedded" role), you need to ensure that Peter provides you with membership/access for:
+  - ssh login on plg2.uwaterloo.ca
+  - push to the git repo cforall@plg.uwaterloo.ca:software/cfa/cfa-cc
+  - log in to the bug tracker (to create/edit tickets that are publicly browsable): https://cforall.uwaterloo.ca/trac
+  - receive email notifications for git pushes, ticket edits, and build successes/failures
+  - receive email broadcasts of the broader PLG: proglang-research@lists.uwaterloo.ca
+
+Note also the resources:
+  - projet's public website: https://cforall.uwaterloo.ca/
+  - common build service, publicly browsable: https://cforall.uwaterloo.ca/jenkins/
+    - It orchestrates build+test on a dozen machines of varying architectures
+    - It runs a ~10-min build+test after every push and emails the result
+    - It runs a ~1-hour build+test nightly (plus, upon request to Peter) and emails the result
+    - It's normal to push a change that was working locally, but have these more thorough tests tell you otherwise.  No shame in "breaking the build," just get it fixed.  (Usually, roll back your change if a fix will take more than a couple hours, but case-by-case discussion is common.)
+    - When more info about a failure is needed than what's in the log attached to the email, it's often findable by browsing the Jenkins website
+  - Direct email from you to all individuals in the core team is the best way to ask how something works, what an error message means, or so on.
+
+
+Kicking the tires
+-----------------
+
+Read and do the instructions in cfa-cc/INSTALL, to get a working CFA compiler built from source.
+
+The program `cfa` is the driver, which acts like a command-line stand-in to the `gcc` command.  Its source starts from cfa-cc/src/driver/cfa.cc.
+
+The driver runs `cfa-cpp`, which is the actual Cforall to C transpiler, while cfa is a wrapper command which runs the preprocessor, cfa-cc, and then the rest of the gcc compilation chain. The `cfa-cpp` source code starts from cfa-cc/src/main.cpp.
+
+Most CFA programs rely on `libcfa`, the CFA core runtime library.  Its source is in cfa-cc/libcfa/src.  It gets compiled while building CFA.  Your test programs link with it.
+
+Most CFA programs rely on "the prelude", which is a collection of headers that your test programs implicitly import.  Its source is in cfa-cc/libcfa/prelude.  It gets preprocessed while building CFA, and the result is compiled within your test programs.
+
+A variety of example CFA programs is available in cfa-cc/tests/**/*.cfa.  They compile and run in a test-suite invocation as described in cfa-cf/INSTALL, as occurs under a Jenkins build, or as some prefer to run manually:
+    pwd # assert in a build folder
+    ./tests/test.py --all -j8
+    ./tests/test.py exceptions/hotpotato # just one test
+      # cfa-cc/tests/exceptions/hotpotato.cfa: source code
+      # cfa-cc/tests/exceptions/.expect/hotpotato.txt: running its ./a.out should print this
+
+Manual full test-program compilation, broken into stages:
+
+    cfa test.cfa -CFA > test.lowered.c
+    gcc -c test.lowered.c
+    cfa test.lowered.o  # have us do the linking, to get libcfa
+    ./a.out
+
+Lowering step, abbreviated to be readable:
+
+    cfa test.cfa -CFA -XCFA,-p
+
+Example of examining the CFA lowering at roughly its halfway point:
+
+    cfa test.cfa -CFA -XCFA,-p,-Pascodegen,-Pexpranly
+
+-XCFA passes the argument/comma separated arguments to cfa-cpp.  Get help on more -XCFA/cfa-cpp arguments:
+
+    cfa test.cfa -CFA -XCFA,--help
+    cfa-cpp --help
+
+Example of isolating a cfa-cpp invocation on your test program.  Most useful for debugging the code under `cfa-cc/src`.  The presentation assumes an install in the style that cfa-cc/INSTALL calls "side-by-side," though there are equivalents for all the styles.
+
+    ./build/driver/cfa test.cfa -E > test.preprocessed.cfa
+    ./build/driver/cfa-cpp test.preprocessed.cfa -p --prelude-dir ./build/libcfa/x64-debug/prelude
+    gdb -args ./build/driver/cfa-cpp test.preprocessed.cfa -p --prelude-dir ./build/libcfa/x64-debug/prelude
+
+Debugging the cfa-cpp program is most productive in a configuration purpose-build for it.  (Whereas, working on libcfa changes is more productive in a cfa-cc/INSTALL "vanilla" configuration.)  An example of creating such a configuration, and repeating the above gdb invoation within this configuration (again, in the side-by-side style):
+
+    mkdir build-gdb
+    cd build-gdb
+    ../cfa-cc/configure --with-target-hosts=host:debug CXXFLAGS='-O0 -g'
+    gdb -args ./driver/cfa-cpp ../test.preprocessed.cfa -p --prelude-dir ./libcfa/x64-debug/prelude
Index: libcfa/src/bits/queue.hfa
===================================================================
--- libcfa/src/bits/queue.hfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/bits/queue.hfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -33,8 +33,10 @@
 		}
 
-		T * succ( Queue(T) & q, T * n ) with( q ) {		// pre: *n in *q
-			#ifdef __CFA_DEBUG__
+		T * succ( Queue(T) & q, T * n ) {					// pre: *n in *q
+		  #ifdef __CFA_DEBUG__
 			if ( ! listed( n ) ) abort( "(Queue &)%p.succ( %p ) : Node is not on a list.", &q, n );
-			#endif // __CFA_DEBUG__
+		  #else
+			(void) q;
+		  #endif // __CFA_DEBUG__
 			return (Next( n ) == n) ? 0p : Next( n );
 		} // post: n == tail() & succ(n) == 0 | n != tail() & *succ(n) in *q
Index: libcfa/src/collections/array.hfa
===================================================================
--- libcfa/src/collections/array.hfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/collections/array.hfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -8,12 +8,11 @@
 
 #ifdef __CFA_DEBUG__
-// FIXME: `len` printing format %ld is a workaround for #269; once fixed, it should be %zd
 #define subcheck( arr, sub, len ) \
 	if ( (sub) < 0 || (sub) >= (len) ) \
-		abort( "Subscript %ld exceeds dimension range [0,%ld) for array %p.\n", \
+		abort( "Subscript %ld exceeds dimension range [0,%zu) for array %p.\n", \
 			   (sub), (len), (arr) )
 #define subchecku( arr, sub, len ) \
 	if ( (sub) >= (len) ) \
-		abort( "Subscript %ld exceeds dimension range [0,%ld) for array %p.\n", \
+		abort( "Subscript %ld exceeds dimension range [0,%zu) for array %p.\n", \
 			   (sub), (len), (arr) )
 #else
Index: libcfa/src/concurrency/io/call.cfa.in
===================================================================
--- libcfa/src/concurrency/io/call.cfa.in	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/concurrency/io/call.cfa.in	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -228,5 +228,5 @@
 	Call('READV', 'ssize_t preadv2(int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags)', {
 		'fd'  : 'fd',
-		'addr': '(typeof(sqe->addr))iov',
+		'addr': '(uintptr_t)iov',
 		'len' : 'iovcnt',
 		'off' : 'offset',
@@ -236,5 +236,5 @@
 	Call('WRITEV', 'ssize_t pwritev2(int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags)', {
 		'fd'  : 'fd',
-		'addr': '(typeof(sqe->addr))iov',
+		'addr': '(uintptr_t)iov',
 		'len' : 'iovcnt',
 		'off' : 'offset',
@@ -262,5 +262,5 @@
 	Call('SENDMSG', 'ssize_t sendmsg(int sockfd, const struct msghdr * msg, int flags)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))(struct msghdr *)msg',
+		'addr': '(uintptr_t)(struct msghdr *)msg',
 		'len': '1',
 		'msg_flags': 'flags'
@@ -269,5 +269,5 @@
 	Call('RECVMSG', 'ssize_t recvmsg(int sockfd, struct msghdr * msg, int flags)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))(struct msghdr *)msg',
+		'addr': '(uintptr_t)(struct msghdr *)msg',
 		'len': '1',
 		'msg_flags': 'flags'
@@ -276,5 +276,5 @@
 	Call('SEND', 'ssize_t send(int sockfd, const void * buf, size_t len, int flags)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))buf',
+		'addr': '(uintptr_t)buf',
 		'len': 'len',
 		'msg_flags': 'flags'
@@ -283,5 +283,5 @@
 	Call('RECV', 'ssize_t recv(int sockfd, void * buf, size_t len, int flags)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))buf',
+		'addr': '(uintptr_t)buf',
 		'len': 'len',
 		'msg_flags': 'flags'
@@ -290,5 +290,5 @@
 	Call('ACCEPT', 'int accept4(int sockfd, __SOCKADDR_ARG addr, socklen_t * restrict addrlen, int flags)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))&addr',
+		'addr': '(uintptr_t)&addr',
 		'addr2': '(typeof(sqe->addr2))addrlen',
 		'accept_flags': 'flags'
@@ -297,5 +297,5 @@
 	Call('CONNECT', 'int connect(int sockfd, __CONST_SOCKADDR_ARG addr, socklen_t addrlen)', {
 		'fd': 'sockfd',
-		'addr': '(typeof(sqe->addr))&addr',
+		'addr': '(uintptr_t)&addr',
 		'off': 'addrlen'
 	}),
@@ -316,5 +316,5 @@
 	# CFA_HAVE_IORING_OP_MADVISE
 	Call('MADVISE', 'int madvise(void * addr, size_t length, int advice)', {
-		'addr': '(typeof(sqe->addr))addr',
+		'addr': '(uintptr_t)addr',
 		'len': 'length',
 		'fadvise_advice': 'advice'
@@ -323,5 +323,5 @@
 	Call('OPENAT', 'int openat(int dirfd, const char * pathname, int flags, mode_t mode)', {
 		'fd': 'dirfd',
-		'addr': '(typeof(sqe->addr))pathname',
+		'addr': '(uintptr_t)pathname',
 		'open_flags': 'flags;',
 		'len': 'mode'
@@ -330,5 +330,5 @@
 	Call('OPENAT2', 'int openat2(int dirfd, const char * pathname, struct open_how * how, size_t size)', {
 		'fd': 'dirfd',
-		'addr': '(typeof(sqe->addr))pathname',
+		'addr': '(uintptr_t)pathname',
 		'off': '(typeof(sqe->off))how',
 		'len': 'sizeof(*how)'
@@ -341,5 +341,5 @@
 	Call('STATX', 'int statx(int dirfd, const char * pathname, int flags, unsigned int mask, struct statx * statxbuf)', {
 		'fd': 'dirfd',
-		'addr': '(typeof(sqe->addr))pathname',
+		'addr': '(uintptr_t)pathname',
 		'statx_flags': 'flags',
 		'len': 'mask',
@@ -349,5 +349,5 @@
 	Call('READ', 'ssize_t read(int fd, void * buf, size_t count)', {
 		'fd': 'fd',
-		'addr': '(typeof(sqe->addr))buf',
+		'addr': '(uintptr_t)buf',
 		'len': 'count'
 	}),
@@ -355,5 +355,5 @@
 	Call('WRITE', 'ssize_t write(int fd, void * buf, size_t count)', {
 		'fd': 'fd',
-		'addr': '(typeof(sqe->addr))buf',
+		'addr': '(uintptr_t)buf',
 		'len': 'count'
 	}),
Index: libcfa/src/concurrency/mutex_stmt.hfa
===================================================================
--- libcfa/src/concurrency/mutex_stmt.hfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/concurrency/mutex_stmt.hfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -30,5 +30,5 @@
 forall(L & | is_lock(L)) {
     static inline void * __get_mutexstmt_lock_ptr( L & this ) { return &this; }
-    static inline L __get_mutexstmt_lock_type( L & this ) {}
-    static inline L __get_mutexstmt_lock_type( L * this ) {}
+    static inline L __get_mutexstmt_lock_type( L & ) {}
+    static inline L __get_mutexstmt_lock_type( L * ) {}
 }
Index: libcfa/src/math.cfa
===================================================================
--- libcfa/src/math.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/math.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -19,4 +19,94 @@
 
 #pragma GCC visibility push(default)
+
+unsigned long long log2_u32_32( unsigned long long val ) {
+	enum {
+		TABLE_BITS = 6,
+		TABLE_SIZE = (1 << TABLE_BITS) + 2,
+	};
+	// for(i; TABLE_SIZE) {
+	//  table[i] = (unsigned long long)(log2(1.0 + i / pow(2, TABLE_BITS)) * pow(2, 32)));
+	// }
+	static const unsigned long long table[] = {
+		0x0000000000, 0x0005b9e5a1, 0x000b5d69ba, 0x0010eb389f,
+		0x001663f6fa, 0x001bc84240, 0x002118b119, 0x002655d3c4,
+		0x002b803473, 0x00309857a0, 0x00359ebc5b, 0x003a93dc98,
+		0x003f782d72, 0x00444c1f6b, 0x0049101eac, 0x004dc4933a,
+		0x005269e12f, 0x00570068e7, 0x005b888736, 0x006002958c,
+		0x00646eea24, 0x0068cdd829, 0x006d1fafdc, 0x007164beb4,
+		0x00759d4f80, 0x0079c9aa87, 0x007dea15a3, 0x0081fed45c,
+		0x0086082806, 0x008a064fd5, 0x008df988f4, 0x0091e20ea1,
+		0x0095c01a39, 0x009993e355, 0x009d5d9fd5, 0x00a11d83f4,
+		0x00a4d3c25e, 0x00a8808c38, 0x00ac241134, 0x00afbe7fa0,
+		0x00b3500472, 0x00b6d8cb53, 0x00ba58feb2, 0x00bdd0c7c9,
+		0x00c1404ead, 0x00c4a7ba58, 0x00c80730b0, 0x00cb5ed695,
+		0x00ceaecfea, 0x00d1f73f9c, 0x00d53847ac, 0x00d8720935,
+		0x00dba4a47a, 0x00ded038e6, 0x00e1f4e517, 0x00e512c6e5,
+		0x00e829fb69, 0x00eb3a9f01, 0x00ee44cd59, 0x00f148a170,
+		0x00f446359b, 0x00f73da38d, 0x00fa2f045e, 0x00fd1a708b,
+		0x0100000000, 0x0102dfca16,
+	};
+	_Static_assert((sizeof(table) / sizeof(table[0])) == TABLE_SIZE, "TABLE_SIZE should be accurate");
+	// starting from val = (2 ** i)*(1 + f) where 0 <= f < 1
+	// log identities mean log2(val) = log2((2 ** i)*(1 + f)) = log2(2**i) + log2(1+f)
+	//
+	// getting i is easy to do using builtin_clz (count leading zero)
+	//
+	// we want to calculate log2(1+f) independently to have a many bits of precision as possible.
+	//     val = (2 ** i)*(1 + f) = 2 ** i   +   f * 2 ** i
+	// isolating f we get
+	//     val - 2 ** i = f * 2 ** i
+	//     (val - 2 ** i) / 2 ** i = f
+	//
+	// we want to interpolate from the table to get the values
+	// and compromise by doing quadratic interpolation (rather than higher degree interpolation)
+	//
+	// for the interpolation we want to shift everything the fist sample point
+	// so our parabola becomes x = 0
+	// this further simplifies the equations
+	//
+	// the consequence is that we need f in 2 forms:
+	//  - finding the index of x0
+	//  - finding the distance between f and x0
+	//
+	// since sample points are equidistant we can significantly simplify the equations
+
+	// get i
+	const unsigned long long bits = sizeof(val) * __CHAR_BIT__;
+	const unsigned long long lz = __builtin_clzl(val);
+	const unsigned long long i = bits - 1 - lz;
+
+	// get the fractinal part as a u32.32
+	const unsigned long long frac = (val << (lz + 1)) >> 32;
+
+	// get high order bits for the index into the table
+	const unsigned long long idx0 = frac >> (32 - TABLE_BITS);
+
+	// get the x offset, i.e., the difference between the first sample point and the actual fractional part
+	const long long udx = frac - (idx0 << (32 - TABLE_BITS));
+	/* paranoid */ verify((idx0 + 2) < TABLE_SIZE);
+
+	const long long y0 = table[idx0 + 0];
+	const long long y1 = table[idx0 + 1];
+	const long long y2 = table[idx0 + 2];
+
+	// from there we can quadraticly interpolate to get the data, using the lagrange polynomial
+	// normally it would look like:
+	//     double r0 = y0 * ((x - x1) / (x0 - x1)) * ((x - x2) / (x0 - x2));
+	//     double r1 = y1 * ((x - x0) / (x1 - x0)) * ((x - x2) / (x1 - x2));
+	//     double r2 = y2 * ((x - x0) / (x2 - x0)) * ((x - x1) / (x2 - x1));
+	// but since the spacing between sample points is fixed, we can simplify itand extract common expressions
+	const long long f1 = (y1 - y0);
+	const long long f2 = (y2 - y0);
+	const long long a = f2 - (f1 * 2l);
+	const long long b = (f1 * 2l) - a;
+
+	// Now we can compute it in the form (ax + b)x + c (which avoid repeating steps)
+	long long sum = ((a*udx) >> (32 - TABLE_BITS))  + b;
+	sum = (sum*udx) >> (32 - TABLE_BITS + 1);
+	sum = y0 + sum;
+
+	return (i << 32) + (sum);
+} // log2_u32_32
 
 // Implementation of power functions (from the prelude):
Index: libcfa/src/math.hfa
===================================================================
--- libcfa/src/math.hfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ libcfa/src/math.hfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -148,93 +148,5 @@
 } // distribution
 
-static inline unsigned long long log2_u32_32( unsigned long long val ) {
-	enum {
-		TABLE_BITS = 6,
-		TABLE_SIZE = (1 << TABLE_BITS) + 2,
-	};
-	// for(i; TABLE_SIZE) {
-	// 	table[i] = (unsigned long long)(log2(1.0 + i / pow(2, TABLE_BITS)) * pow(2, 32)));
-	// }
-	static const unsigned long long table[] = {
-		0x0000000000, 0x0005b9e5a1, 0x000b5d69ba, 0x0010eb389f,
-		0x001663f6fa, 0x001bc84240, 0x002118b119, 0x002655d3c4,
-		0x002b803473, 0x00309857a0, 0x00359ebc5b, 0x003a93dc98,
-		0x003f782d72, 0x00444c1f6b, 0x0049101eac, 0x004dc4933a,
-		0x005269e12f, 0x00570068e7, 0x005b888736, 0x006002958c,
-		0x00646eea24, 0x0068cdd829, 0x006d1fafdc, 0x007164beb4,
-		0x00759d4f80, 0x0079c9aa87, 0x007dea15a3, 0x0081fed45c,
-		0x0086082806, 0x008a064fd5, 0x008df988f4, 0x0091e20ea1,
-		0x0095c01a39, 0x009993e355, 0x009d5d9fd5, 0x00a11d83f4,
-		0x00a4d3c25e, 0x00a8808c38, 0x00ac241134, 0x00afbe7fa0,
-		0x00b3500472, 0x00b6d8cb53, 0x00ba58feb2, 0x00bdd0c7c9,
-		0x00c1404ead, 0x00c4a7ba58, 0x00c80730b0, 0x00cb5ed695,
-		0x00ceaecfea, 0x00d1f73f9c, 0x00d53847ac, 0x00d8720935,
-		0x00dba4a47a, 0x00ded038e6, 0x00e1f4e517, 0x00e512c6e5,
-		0x00e829fb69, 0x00eb3a9f01, 0x00ee44cd59, 0x00f148a170,
-		0x00f446359b, 0x00f73da38d, 0x00fa2f045e, 0x00fd1a708b,
-		0x0100000000, 0x0102dfca16,
-	};
-	_Static_assert((sizeof(table) / sizeof(table[0])) == TABLE_SIZE, "TABLE_SIZE should be accurate");
-	// starting from val = (2 ** i)*(1 + f) where 0 <= f < 1
-	// log identities mean log2(val) = log2((2 ** i)*(1 + f)) = log2(2**i) + log2(1+f)
-	//
-	// getting i is easy to do using builtin_clz (count leading zero)
-	//
-	// we want to calculate log2(1+f) independently to have a many bits of precision as possible.
-	//     val = (2 ** i)*(1 + f) = 2 ** i   +   f * 2 ** i
-	// isolating f we get
-	//     val - 2 ** i = f * 2 ** i
-	//     (val - 2 ** i) / 2 ** i = f
-	//
-	// we want to interpolate from the table to get the values
-	// and compromise by doing quadratic interpolation (rather than higher degree interpolation)
-	//
-	// for the interpolation we want to shift everything the fist sample point
-	// so our parabola becomes x = 0
-	// this further simplifies the equations
-	//
-	// the consequence is that we need f in 2 forms:
-	//  - finding the index of x0
-	//  - finding the distance between f and x0
-	//
-	// since sample points are equidistant we can significantly simplify the equations
-
-	// get i
-	const unsigned long long bits = sizeof(val) * __CHAR_BIT__;
-	const unsigned long long lz = __builtin_clzl(val);
-	const unsigned long long i = bits - 1 - lz;
-
-	// get the fractinal part as a u32.32
-	const unsigned long long frac = (val << (lz + 1)) >> 32;
-
-	// get high order bits for the index into the table
-	const unsigned long long idx0 = frac >> (32 - TABLE_BITS);
-
-	// get the x offset, i.e., the difference between the first sample point and the actual fractional part
-	const long long udx = frac - (idx0 << (32 - TABLE_BITS));
-	/* paranoid */ verify((idx0 + 2) < TABLE_SIZE);
-
-	const long long y0 = table[idx0 + 0];
-	const long long y1 = table[idx0 + 1];
-	const long long y2 = table[idx0 + 2];
-
-	// from there we can quadraticly interpolate to get the data, using the lagrange polynomial
-	// normally it would look like:
-	//     double r0 = y0 * ((x - x1) / (x0 - x1)) * ((x - x2) / (x0 - x2));
-	//     double r1 = y1 * ((x - x0) / (x1 - x0)) * ((x - x2) / (x1 - x2));
-	//     double r2 = y2 * ((x - x0) / (x2 - x0)) * ((x - x1) / (x2 - x1));
-	// but since the spacing between sample points is fixed, we can simplify it and extract common expressions
-	const long long f1 = (y1 - y0);
-	const long long f2 = (y2 - y0);
-	const long long a = f2 - (f1 * 2l);
-	const long long b = (f1 * 2l) - a;
-
-	// Now we can compute it in the form (ax + b)x + c (which avoid repeating steps)
-	long long sum = ((a*udx) >> (32 - TABLE_BITS))  + b;
-	sum = (sum*udx) >> (32 - TABLE_BITS + 1);
-	sum = y0 + sum;
-
-	return (i << 32) + (sum);
-} // log2_u32_32
+unsigned long long log2_u32_32( unsigned long long val );
 
 //---------------------- Trigonometric ----------------------
Index: src/BasicTypes-gen.cpp
===================================================================
--- src/BasicTypes-gen.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/BasicTypes-gen.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -36,5 +36,4 @@
 	Float,
 	FloatComplex,
-	// FloatImaginary,
 	Float32x,
 	Float32xComplex,
@@ -43,5 +42,4 @@
 	Double,
 	DoubleComplex,
-	// DoubleImaginary,
 	Float64x,
 	Float64xComplex,
@@ -52,5 +50,4 @@
 	LongDouble,
 	LongDoubleComplex,
-	// LongDoubleImaginary,
 	Float128x,
 	Float128xComplex,
@@ -87,5 +84,5 @@
 
 	{ ShortSignedInt, "ShortSignedInt", "SI", "signed short int", "s", Signed, ShortUnsignedInt, SignedInt, -1, 2 },
-	{ ShortUnsignedInt, "ShortUnsignedInt", "SUI", "unsigned short int", "t", Unsigned, UnsignedInt, SignedInt, -1, 2 },
+	{ ShortUnsignedInt, "ShortUnsignedInt", "USI", "unsigned short int", "t", Unsigned, UnsignedInt, SignedInt, -1, 2 },
 
 	{ SignedInt, "SignedInt", "I", "signed int", "i", Signed, UnsignedInt, LongSignedInt, -1, 3 },
@@ -93,39 +90,41 @@
 
 	{ LongSignedInt, "LongSignedInt", "LI", "signed long int", "l", Signed, LongUnsignedInt, LongLongSignedInt, -1, 4 },
-	{ LongUnsignedInt, "LongUnsignedInt", "LUI", "unsigned long int", "m", Unsigned, LongLongSignedInt, LongLongUnsignedInt, -1, 4 },
+	{ LongUnsignedInt, "LongUnsignedInt", "ULI", "unsigned long int", "m", Unsigned, LongLongSignedInt, LongLongUnsignedInt, -1, 4 },
 
 	{ LongLongSignedInt, "LongLongSignedInt", "LLI", "signed long long int", "x", Signed, LongLongUnsignedInt, SignedInt128, -1, 5 },
-	{ LongLongUnsignedInt, "LongLongUnsignedInt", "LLUI", "unsigned long long int", "y", Unsigned, SignedInt128, UnsignedInt128, -1, 5 },
-
-	{ SignedInt128, "SignedInt128", "IB", "__int128", "n", Signed, UnsignedInt128, Float16, -1, 6 },
-	{ UnsignedInt128, "UnsignedInt128", "UIB", "unsigned __int128", "o", Unsigned, Float16, -1, -1, 6 },
+	{ LongLongUnsignedInt, "LongLongUnsignedInt", "ULLI", "unsigned long long int", "y", Unsigned, SignedInt128, UnsignedInt128, -1, 5 },
+
+	{ SignedInt128, "SignedInt128", "__ID", "__int128", "n", Signed, UnsignedInt128, Float16, -1, 6 },
+	{ UnsignedInt128, "UnsignedInt128", "__UID", "unsigned __int128", "o", Unsigned, Float16, -1, -1, 6 },
 
 	{ Float16, "Float16", "_FH", "_Float16", "DF16_", Floating, Float32, Float16Complex, -1, 7 },
-	{ Float16Complex, "Float16Complex", "_FH", "_Float16 _Complex", "CDF16_", Floating, Float32Complex, -1, -1, 7 },
+	{ Float16Complex, "Float16Complex", "_FHC", "_Float16 _Complex", "CDF16_", Floating, Float32Complex, -1, -1, 7 },
+
 	{ Float32, "Float32", "_F", "_Float32", "DF32_", Floating, Float, Float32Complex, -1, 8 },
 	{ Float32Complex, "Float32Complex", "_FC", "_Float32 _Complex", "CDF32_", Floating, FloatComplex, -1, -1, 8 },
 	{ Float, "Float", "F", "float", "f", Floating, Float32x, FloatComplex, -1, 9 },
 	{ FloatComplex, "FloatComplex", "FC", "float _Complex", "Cf", Floating, Float32xComplex, -1, -1, 9 },
-	// { FloatImaginary, "FloatImaginary", "FI", "float _Imaginary", "If", false, DoubleImaginary, FloatComplex, -1, 9 },
-
 	{ Float32x, "Float32x", "_FX", "_Float32x", "DF32x_", Floating, Float64, Float32xComplex, -1, 10 },
 	{ Float32xComplex, "Float32xComplex", "_FXC", "_Float32x _Complex", "CDF32x_", Floating, Float64Complex, -1, -1, 10 },
-	{ Float64, "Float64", "FD", "_Float64", "DF64_", Floating, Double, Float64Complex, -1, 11 },
+
+	{ Float64, "Float64", "_FD", "_Float64", "DF64_", Floating, Double, Float64Complex, -1, 11 },
 	{ Float64Complex, "Float64Complex", "_FDC", "_Float64 _Complex", "CDF64_", Floating, DoubleComplex, -1, -1, 11 },
 	{ Double, "Double", "D", "double", "d", Floating, Float64x, DoubleComplex, -1, 12 },
 	{ DoubleComplex, "DoubleComplex", "DC", "double _Complex", "Cd", Floating, Float64xComplex, -1, -1, 12 },
-	// { DoubleImaginary, "DoubleImaginary", "DI", "double _Imaginary", "Id", false, LongDoubleImaginary, DoubleComplex, -1, 12 },
-
-	{ Float64x, "Float64x", "F80X", "_Float64x", "DF64x_", Floating, Float80, Float64xComplex, -1, 13 },
+	{ Float64x, "Float64x", "_FDX", "_Float64x", "DF64x_", Floating, Float80, Float64xComplex, -1, 13 },
 	{ Float64xComplex, "Float64xComplex", "_FDXC", "_Float64x _Complex", "CDF64x_", Floating, Float128Complex, -1, -1, 13 },
-	{ Float80, "Float80", "F80", "__float80", "Dq", Floating, Float128, Float64xComplex, -1, 14 },
-	{ Float128, "Float128", "_FB", "_Float128", "DF128_", Floating, uuFloat128, Float128Complex, -1, 15 },
+
+	{ Float80, "Float80", "_F80", "__float80", "Dq", Floating, Float128, Float64xComplex, -1, 14 },
+	// __float80 _Complex, no complex counterpart
+
+	{ Float128, "Float128", "_FLD", "_Float128", "DF128_", Floating, uuFloat128, Float128Complex, -1, 15 },
 	{ Float128Complex, "Float128Complex", "_FLDC", "_Float128 _Complex", "CDF128_", Floating, LongDoubleComplex, -1, -1, 15 },
-	{ uuFloat128, "uuFloat128", "FB", "__float128", "g", Floating, LongDouble, Float128Complex, -1, 16 },
+	{ uuFloat128, "uuFloat128", "__FLD", "__float128", "g", Floating, LongDouble, Float128Complex, -1, 16 },
+	// __float128 _Complex, no complex counterpart
 	{ LongDouble, "LongDouble", "LD", "long double", "e", Floating, Float128x, LongDoubleComplex, -1, 17 },
 	{ LongDoubleComplex, "LongDoubleComplex", "LDC", "long double _Complex", "Ce", Floating, Float128xComplex, -1, -1, 17 },
-	// { LongDoubleImaginary, "LongDoubleImaginary", "LDI", "long double _Imaginary", "Ie", false, LongDoubleComplex, -1, -1, 17 },
-
-	{ Float128x, "Float128x", "_FBX", "_Float128x", "DF128x_", Floating, Float128xComplex, -1, -1, 18 },
+
+	// may not be supported
+	{ Float128x, "Float128x", "_FLDX", "_Float128x", "DF128x_", Floating, Float128xComplex, -1, -1, 18 },
 	{ Float128xComplex, "Float128xComplex", "_FLDXC", "_Float128x _Complex", "CDF128x_", Floating, -1, -1, -1, 18 }
 }; // graph
@@ -159,11 +158,11 @@
 		// visit cost element
 		int col = q.top().i;
+
 		// skip if already set
 		if ( seen[col] ) {
 			q.pop();
 			continue;
-		} else {
-			seen[col] = true;
-		} // if
+		} // if
+		seen[col] = true;
 
 		// otherwise set min-costs into matrix
@@ -176,14 +175,14 @@
 		// traverse children
 		int i = graph[col].left;
-		if ( i == -1 ) continue;
-		q.emplace( i, cost + 1, scost + ! (graph[col].sign & graph[i].sign) );
+		if ( i == -1 ) continue;						// leaf
+		q.emplace( i, cost + max(1, graph[i].rank-graph[col].rank), scost + ! (graph[col].sign & graph[i].sign) );
 
 		i = graph[col].middle;
-		if ( i == -1 ) continue;
-		q.emplace( i, cost + 1, scost + !(graph[col].sign & graph[i].sign) );
+		if ( i == -1 ) continue;						// leaf
+		q.emplace( i, cost + max(1, graph[i].rank-graph[col].rank), scost + !(graph[col].sign & graph[i].sign) );
 
 		i = graph[col].right;
-		if ( i == -1 ) continue;
-		q.emplace( i, cost + 1, scost + !(graph[col].sign & graph[i].sign) );
+		if ( i == -1 ) continue;						// leaf
+		q.emplace( i, cost + max(1, graph[i].rank-graph[col].rank), scost + !(graph[col].sign & graph[i].sign) );
 	} while ( ! q.empty() );
 } // generateCosts
Index: src/CodeGen/CodeGenerator.cpp
===================================================================
--- src/CodeGen/CodeGenerator.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/CodeGen/CodeGenerator.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1130,8 +1130,19 @@
 }
 
+void CodeGenerator::postvisit( ast::TryStmt const * stmt ) {
+	assertf( !options.genC, "TryStmt should not reach code generation." );
+
+	output << "try ";
+	stmt->body->accept( *visitor );
+	for ( ast::ptr<ast::CatchClause> const & handler : stmt->handlers ) {
+		handler->accept( *visitor );
+	}
+	if ( stmt->finally ) stmt->finally->accept( *visitor );
+}
+
 void CodeGenerator::postvisit( ast::CatchClause const * stmt ) {
 	assertf( !options.genC, "CatchClause should not reach code generation." );
 
-	output << ((stmt->kind == ast::Terminate) ? "catch" : "catchResume");
+	output << ((stmt->kind == ast::Terminate) ? " catch " : " catchResume ");
 	output << "( ";
 	stmt->decl->accept( *visitor );
@@ -1142,4 +1153,11 @@
 	output << " ) ";
 	stmt->body->accept( *visitor );
+}
+
+void CodeGenerator::postvisit( ast::FinallyClause const * clause ) {
+	assertf( !options.genC, "FinallyClause should not reach code generation." );
+
+	output << " finally ";
+	clause->body->accept( *visitor );
 }
 
Index: src/CodeGen/CodeGenerator.hpp
===================================================================
--- src/CodeGen/CodeGenerator.hpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/CodeGen/CodeGenerator.hpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -106,5 +106,7 @@
 	void postvisit( ast::ReturnStmt const * );
 	void postvisit( ast::ThrowStmt const * );
+	void postvisit( ast::TryStmt const * );
 	void postvisit( ast::CatchClause const * );
+	void postvisit( ast::FinallyClause const * );
 	void postvisit( ast::WaitForStmt const * );
 	void postvisit( ast::WithStmt const * );
Index: src/ControlStruct/ExceptDecl.cpp
===================================================================
--- src/ControlStruct/ExceptDecl.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/ControlStruct/ExceptDecl.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -5,11 +5,11 @@
 // file "LICENCE" distributed with Cforall.
 //
-// ExceptDecl.cpp --
+// ExceptDecl.cpp -- Translate "exception" and exception related declarations.
 //
 // Author           : Andrew Beach
 // Created On       : Tue Jul 12 15:50:00 2022
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Sep  7 12:05:55 2024
-// Update Count     : 1
+// Last Modified By : Andrew Beach
+// Last Modified On : Fri Jan 10 15:35:55 2024
+// Update Count     : 2
 //
 
@@ -117,5 +117,14 @@
 	decl->body = true;
 	for ( ast::ptr<ast::TypeDecl> const & param : forallClause ) {
-		decl->params.push_back( ast::deepCopy( param ) );
+		// Create an unsized and assertionless copy of the parameter.
+		decl->params.push_back( new ast::TypeDecl(
+			param->location,
+			param->name,
+			param->storage,
+			param->base ? ast::deepCopy( param->base ) : nullptr,
+			ast::TypeDecl::Dtype,
+			false,
+			nullptr
+		) );
 	}
 	return decl;
@@ -445,4 +454,11 @@
 }
 
+ast::NameExpr const * designatedName( ast::Designation const * des ) {
+	if ( des && 1 == des->designators.size() ) {
+		return des->designators.front().as<ast::NameExpr>();
+	}
+	return nullptr;
+}
+
 ast::ObjectDecl const * ExceptDeclCore::transformVTable(
 		ast::ObjectDecl const * decl, ast::VTableType const * type ) {
@@ -467,10 +483,42 @@
 				createTypeIdValue( location, exceptionName, params ) );
 		}
-		declsToAddBefore.push_back(
-			createCopy( location, exceptionName, params ) );
-		declsToAddBefore.push_back(
-			createMsg( location, exceptionName, params ) );
 		retDecl = createVirtualTable(
 			location, exceptionName, params, tableName );
+		// There is quite a bit of work to pull over any initializers and
+		// decide if we want to insert the default functions.
+		bool foundCopy = false;
+		bool foundMsg = false;
+		ast::ListInit const * init = decl->init.as<ast::ListInit>();
+		if ( init ) {
+			for ( size_t i = 0 ; i < init->initializers.size() ; ++i ) {
+				ast::Designation const * des = init->designations.at(i);
+				auto name = designatedName( des );
+				if ( nullptr == name ) continue;
+				if ( "copy" == name->name ) {
+					foundCopy = true;
+				} else if ( "msg" == name->name ) {
+					foundMsg = true;
+				}
+				auto retInit = retDecl->init.as<ast::ListInit>();
+				for ( size_t j = 0 ; j < retInit->initializers.size() ; ++j ) {
+					ast::Designation const * des = retInit->designations.at(j);
+					auto retName = designatedName( des );
+					if ( retName && name->name == retName->name ) {
+						retInit = ast::mutate_field_index( retInit,
+							&ast::ListInit::initializers, j,
+							init->initializers.at(i) );
+					}
+				}
+				retDecl->init = retInit;
+			}
+		}
+		if ( !foundCopy ) {
+			declsToAddBefore.push_back(
+				createCopy( location, exceptionName, params ) );
+		}
+		if ( !foundMsg ) {
+			declsToAddBefore.push_back(
+				createMsg( location, exceptionName, params ) );
+		}
 	}
 
Index: src/GenPoly/Box.cpp
===================================================================
--- src/GenPoly/Box.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/GenPoly/Box.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -42,12 +42,24 @@
 
 /// The layout type is used to represent sizes, alignments and offsets.
-ast::BasicType * makeLayoutType() {
-	return new ast::BasicType( ast::BasicKind::LongUnsignedInt );
+const ast::Type * getLayoutType( const ast::TranslationUnit & transUnit ) {
+	assert( transUnit.global.sizeType.get() );
+	return transUnit.global.sizeType;
 }
 
 /// Fixed version of layout type (just adding a 'C' in C++ style).
-ast::BasicType * makeLayoutCType() {
-	return new ast::BasicType( ast::BasicKind::LongUnsignedInt,
-		ast::CV::Qualifiers( ast::CV::Const ) );
+const ast::Type * getLayoutCType( const ast::TranslationUnit & transUnit ) {
+	// Hack for optimization: don't want to clone every time, but don't want
+	// to hardcode a global-translation-unit assumption here either.  So
+	// cache it: will be fast if there is a single translation unit, but
+	// still correct otherwise.
+	static ast::ptr<ast::Type> lastLayoutType = nullptr;
+	static ast::ptr<ast::Type> lastLayoutCType = nullptr;
+	const ast::Type * curLayoutType = getLayoutType( transUnit );
+	if (lastLayoutType != curLayoutType ) {
+		lastLayoutCType = ast::deepCopy( curLayoutType );
+		add_qualifiers(
+			lastLayoutCType, ast::CV::Qualifiers{ ast::CV::Const } );
+	}
+	return lastLayoutCType;
 }
 
@@ -55,4 +67,5 @@
 /// Adds layout-generation functions to polymorphic types.
 struct LayoutFunctionBuilder final :
+		public ast::WithConstTranslationUnit,
 		public ast::WithDeclsToAdd,
 		public ast::WithShortCircuiting,
@@ -77,25 +90,28 @@
 void addSTypeParams(
 		ast::vector<ast::DeclWithType> & params,
-		ast::vector<ast::TypeDecl> const & sizedParams ) {
+		ast::vector<ast::TypeDecl> const & sizedParams,
+		const ast::TranslationUnit & transUnit ) {
 	for ( ast::ptr<ast::TypeDecl> const & sizedParam : sizedParams ) {
 		ast::TypeInstType inst( sizedParam );
 		std::string paramName = Mangle::mangleType( &inst );
-		params.emplace_back( new ast::ObjectDecl(
+		auto sizeofParam = new ast::ObjectDecl(
 			sizedParam->location,
 			sizeofName( paramName ),
-			makeLayoutCType()
-		) );
-		auto alignParam = new ast::ObjectDecl(
+			getLayoutCType( transUnit )
+		);
+		sizeofParam->attributes.push_back( new ast::Attribute( "unused" ) );
+		params.emplace_back( sizeofParam );
+		auto alignofParam = new ast::ObjectDecl(
 			sizedParam->location,
 			alignofName( paramName ),
-			makeLayoutCType()
+			getLayoutCType( transUnit )
 		);
-		alignParam->attributes.push_back( new ast::Attribute( "unused" ) );
-		params.emplace_back( alignParam );
-	}
-}
-
-ast::Type * makeLayoutOutType() {
-	return new ast::PointerType( makeLayoutType() );
+		alignofParam->attributes.push_back( new ast::Attribute( "unused" ) );
+		params.emplace_back( alignofParam );
+	}
+}
+
+ast::Type * getLayoutOutType( const ast::TranslationUnit & transUnit ) {
+	return new ast::PointerType( getLayoutType( transUnit ) );
 }
 
@@ -110,14 +126,15 @@
 		CodeLocation const & location, ast::AggregateDecl const * aggr,
 		ast::vector<ast::TypeDecl> const & sizedParams,
-		bool isInFunction, bool isStruct ) {
+		bool isInFunction, bool isStruct,
+		const ast::TranslationUnit & transUnit ) {
 	ast::ObjectDecl * sizeParam = new ast::ObjectDecl(
 		location,
 		sizeofName( aggr->name ),
-		makeLayoutOutType()
+		getLayoutOutType( transUnit )
 	);
 	ast::ObjectDecl * alignParam = new ast::ObjectDecl(
 		location,
 		alignofName( aggr->name ),
-		makeLayoutOutType()
+		getLayoutOutType( transUnit )
 	);
 	ast::ObjectDecl * offsetParam = nullptr;
@@ -127,9 +144,9 @@
 			location,
 			offsetofName( aggr->name ),
-			makeLayoutOutType()
+			getLayoutOutType( transUnit )
 		);
 		params.push_back( offsetParam );
 	}
-	addSTypeParams( params, sizedParams );
+	addSTypeParams( params, sizedParams, transUnit );
 
 	// Routines at global scope marked "static" to prevent multiple
@@ -218,5 +235,5 @@
 	// Build layout function signature.
 	LayoutData layout = buildLayoutFunction(
-		location, decl, sizedParams, isInFunction(), true );
+		location, decl, sizedParams, isInFunction(), true, transUnit() );
 	ast::FunctionDecl * layoutDecl = layout.function;
 	// Also return these or extract them from the parameter list?
@@ -292,5 +309,5 @@
 	// Build layout function signature.
 	LayoutData layout = buildLayoutFunction(
-		location, decl, sizedParams, isInFunction(), false );
+		location, decl, sizedParams, isInFunction(), false, transUnit() );
 	ast::FunctionDecl * layoutDecl = layout.function;
 	// Also return these or extract them from the parameter list?
@@ -1390,5 +1407,6 @@
 /// * Move polymorphic returns in function types to pointer-type parameters.
 /// * Adds type size and assertion parameters to parameter lists.
-struct DeclAdapter final {
+struct DeclAdapter final :
+		public ast::WithConstTranslationUnit {
 	ast::FunctionDecl const * previsit( ast::FunctionDecl const * decl );
 	ast::FunctionDecl const * postvisit( ast::FunctionDecl const * decl );
@@ -1398,8 +1416,9 @@
 
 ast::ObjectDecl * makeObj(
-		CodeLocation const & location, std::string const & name ) {
+		CodeLocation const & location, std::string const & name,
+		const ast::TranslationUnit & transUnit ) {
 	// The size/align parameters may be unused, so add the unused attribute.
 	return new ast::ObjectDecl( location, name,
-		makeLayoutCType(),
+		getLayoutCType( transUnit ),
 		nullptr, ast::Storage::Classes(), ast::Linkage::C, nullptr,
 		{ new ast::Attribute( "unused" ) } );
@@ -1441,8 +1460,10 @@
 			std::string paramName = Mangle::mangleType( &paramType );
 
-			auto sizeParam = makeObj( typeParam->location, sizeofName( paramName ) );
+			auto sizeParam = makeObj(
+				typeParam->location, sizeofName( paramName ), transUnit() );
 			layoutParams.emplace_back( sizeParam );
 
-			auto alignParam = makeObj( typeParam->location, alignofName( paramName ) );
+			auto alignParam = makeObj(
+				typeParam->location, alignofName( paramName ), transUnit() );
 			layoutParams.emplace_back( alignParam );
 		}
@@ -1576,5 +1597,6 @@
 /// * Inserts dynamic calculation of polymorphic type layouts where needed.
 struct PolyGenericCalculator final :
-		public ast::WithConstTypeSubstitution,
+		public ast::WithConstTranslationUnit,
+ 		public ast::WithConstTypeSubstitution,
 		public ast::WithDeclsToAdd,
 		public ast::WithGuards,
@@ -1693,5 +1715,5 @@
 
 	ast::ObjectDecl * sizeDecl = new ast::ObjectDecl( decl->location,
-		sizeofName( typeName ), makeLayoutCType(),
+		sizeofName( typeName ), getLayoutCType( transUnit() ),
 		new ast::SingleInit( decl->location,
 			new ast::SizeofExpr( decl->location, deepCopy( base ) )
@@ -1699,5 +1721,5 @@
 	);
 	ast::ObjectDecl * alignDecl = new ast::ObjectDecl( decl->location,
-		alignofName( typeName ), makeLayoutCType(),
+		alignofName( typeName ), getLayoutCType( transUnit() ),
 		new ast::SingleInit( decl->location,
 			new ast::AlignofExpr( decl->location, deepCopy( base ) )
@@ -1987,5 +2009,5 @@
 	auto offsetArray = makeVar( expr->location, offsetName,
 		new ast::ArrayType(
-			makeLayoutType(),
+			getLayoutType( transUnit() ),
 			ast::ConstantExpr::from_ulong( expr->location, inits.size() ),
 			ast::FixedLen,
@@ -2071,9 +2093,9 @@
 			// All empty structures have the same layout (size 1, align 1).
 			makeVar( location,
-				sizeofName( typeName ), makeLayoutType(),
+				sizeofName( typeName ), getLayoutType( transUnit() ),
 				new ast::SingleInit( location,
 						ast::ConstantExpr::from_ulong( location, 1 ) ) );
 			makeVar( location,
-				alignofName( typeName ), makeLayoutType(),
+				alignofName( typeName ), getLayoutType( transUnit() ),
 				new ast::SingleInit( location,
 						ast::ConstantExpr::from_ulong( location, 1 ) ) );
@@ -2081,11 +2103,11 @@
 		} else {
 			ast::ObjectDecl const * sizeofVar = makeVar( location,
-				sizeofName( typeName ), makeLayoutType(), nullptr );
+				sizeofName( typeName ), getLayoutType( transUnit() ), nullptr );
 			ast::ObjectDecl const * alignofVar = makeVar( location,
-				alignofName( typeName ), makeLayoutType(), nullptr );
+				alignofName( typeName ), getLayoutType( transUnit() ), nullptr );
 			ast::ObjectDecl const * offsetofVar = makeVar( location,
 				offsetofName( typeName ),
 				new ast::ArrayType(
-					makeLayoutType(),
+					getLayoutType( transUnit() ),
 					ast::ConstantExpr::from_int( location, memberCount ),
 					ast::FixedLen,
@@ -2133,7 +2155,7 @@
 
 		ast::ObjectDecl * sizeofVar = makeVar( location,
-			sizeofName( typeName ), makeLayoutType() );
+			sizeofName( typeName ), getLayoutType( transUnit() ) );
 		ast::ObjectDecl * alignofVar = makeVar( location,
-			alignofName( typeName ), makeLayoutType() );
+			alignofName( typeName ), getLayoutType( transUnit() ) );
 
 		ast::UntypedExpr * layoutCall = new ast::UntypedExpr( location,
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/Makefile.am	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:51:46 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Nov 20 11:28:05 2023
-## Update Count     : 109
+## Last Modified On : Sat Jan 11 16:27:27 2025
+## Update Count     : 112
 ###############################################################################
 
@@ -55,4 +55,5 @@
 $(addprefix $(srcdir)/, ResolvExpr/ConversionCost.cpp ResolvExpr/CommonType.cpp SymTab/ManglerCommon.cpp) : $(srcdir)/AST/BasicKind.hpp
 
+.PRECIOUS: $(srcdir)/AST/BasicKind.hpp
 $(srcdir)/AST/BasicKind.hpp : BasicTypes-gen.cpp
 	${AM_V_GEN}${CXXCOMPILE} $< -o BasicTypes-gen -Wall -Wextra -Werror=return-type
Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1225,5 +1225,10 @@
 
 			// return casts are eliminated (merely selecting an overload, no actual operation)
-			candidates = std::move(finder.candidates);
+			for (auto & cand : finder.candidates) {
+				if (typesCompatibleIgnoreQualifiers(toType, cand->expr->result, cand->env)) {
+					candidates.push_back (cand);
+				}
+			}
+			// candidates = std::move(finder.candidates);
 			return;
 		}
Index: src/ResolvExpr/CommonType.cpp
===================================================================
--- src/ResolvExpr/CommonType.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/ResolvExpr/CommonType.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -42,10 +42,10 @@
 	#define BT ast::BasicKind::
 	static const ast::BasicKind commonTypes[BT NUMBER_OF_BASIC_TYPES][BT NUMBER_OF_BASIC_TYPES] = { // nearest common ancestor
-		/*		                        B                       C                      SC                      UC                      SI                     SUI
-				                        I                      UI                      LI                     LUI                     LLI                    LLUI
-				                       IB                     UIB                     _FH                     _FH                      _F                     _FC
-				                        F                      FC                     _FX                    _FXC                      FD                    _FDC
-				                        D                      DC                    F80X                   _FDXC                     F80                     _FB
-				                    _FLDC                      FB                      LD                     LDC                    _FBX                  _FLDXC
+		/*		                        B                       C                      SC                      UC                      SI                     USI
+				                        I                      UI                      LI                     ULI                     LLI                    ULLI
+				                     __ID                   __UID                     _FH                    _FHC                      _F                     _FC
+				                        F                      FC                     _FX                    _FXC                     _FD                    _FDC
+				                        D                      DC                    _FDX                   _FDXC                    _F80                    _FLD
+				                    _FLDC                   __FLD                      LD                     LDC                   _FLDX                  _FLDXC
 				 */
 				  {
@@ -90,5 +90,5 @@
 				  },
 				  {
-		/*    SUI */    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,
+		/*    USI */    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,    BT ShortUnsignedInt,
 				             BT SignedInt,         BT UnsignedInt,       BT LongSignedInt,     BT LongUnsignedInt,   BT LongLongSignedInt, BT LongLongUnsignedInt,
 				          BT SignedInt128,      BT UnsignedInt128,             BT Float16,      BT Float16Complex,             BT Float32,      BT Float32Complex,
@@ -122,5 +122,5 @@
 				  },
 				  {
-		/*    LUI */     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,
+		/*    ULI */     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,
 				       BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,     BT LongUnsignedInt,   BT LongLongSignedInt, BT LongLongUnsignedInt,
 				          BT SignedInt128,      BT UnsignedInt128,             BT Float16,      BT Float16Complex,             BT Float32,      BT Float32Complex,
@@ -138,5 +138,5 @@
 				  },
 				  {
-		/*   LLUI */ BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt,
+		/*   ULLI */ BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt,
 				   BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt, BT LongLongUnsignedInt,
 				          BT SignedInt128,      BT UnsignedInt128,             BT Float16,      BT Float16Complex,             BT Float32,      BT Float32Complex,
@@ -146,5 +146,5 @@
 				  },
 				  {
-		/*     IB */        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,
+		/*   __ID */        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,
 				          BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,        BT SignedInt128,
 				          BT SignedInt128,      BT UnsignedInt128,             BT Float16,      BT Float16Complex,             BT Float32,      BT Float32Complex,
@@ -154,5 +154,5 @@
 				  },
 				  {
-		/*    UIB */      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,
+		/*  __UID */      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,
 				        BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,      BT UnsignedInt128,
 				        BT UnsignedInt128,      BT UnsignedInt128,             BT Float16,      BT Float16Complex,             BT Float32,      BT Float32Complex,
@@ -170,5 +170,5 @@
 				  },
 				  {
-		/*    _FH */      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,
+		/*   _FHC */      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,
 				        BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,
 				        BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float16Complex,      BT Float32Complex,      BT Float32Complex,
@@ -226,5 +226,5 @@
 				  },
 				  {
-		/*     FD */             BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,
+		/*    _FD */             BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,
 				               BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,             BT Float64,
 				               BT Float64,             BT Float64,             BT Float64,      BT Float64Complex,             BT Float64,      BT Float64Complex,
@@ -258,5 +258,5 @@
 				  },
 				  {
-		/*   F80X */            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,
+		/*   _FDX */            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,
 				              BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,            BT Float64x,
 				              BT Float64x,            BT Float64x,            BT Float64x,     BT Float64xComplex,            BT Float64x,     BT Float64xComplex,
@@ -274,5 +274,5 @@
 				  },
 				  {
-		/*    F80 */             BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,
+		/*   _F80 */             BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,
 				               BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,             BT Float80,
 				               BT Float80,             BT Float80,             BT Float80,     BT Float64xComplex,             BT Float80,     BT Float64xComplex,
@@ -282,5 +282,5 @@
 				  },
 				  {
-		/*    _FB */            BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,
+		/*   _FLD */            BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,
 				              BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,            BT Float128,
 				              BT Float128,            BT Float128,            BT Float128,     BT Float128Complex,            BT Float128,     BT Float128Complex,
@@ -298,5 +298,5 @@
 				  },
 				  {
-		/*     FB */          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,
+		/*  __FLD */          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,
 				            BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,          BT uuFloat128,
 				            BT uuFloat128,          BT uuFloat128,          BT uuFloat128,     BT Float128Complex,          BT uuFloat128,     BT Float128Complex,
@@ -322,5 +322,5 @@
 				  },
 				  {
-		/*   _FBX */           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,
+		/*  _FLDX */           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,
 				             BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,           BT Float128x,
 				             BT Float128x,           BT Float128x,           BT Float128x,    BT Float128xComplex,           BT Float128x,    BT Float128xComplex,
Index: src/ResolvExpr/ConversionCost.cpp
===================================================================
--- src/ResolvExpr/ConversionCost.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/ResolvExpr/ConversionCost.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -62,43 +62,43 @@
 	// GENERATED BY BasicTypes-gen.cpp
 	static const int costMatrix[ast::BasicKind::NUMBER_OF_BASIC_TYPES][ast::BasicKind::NUMBER_OF_BASIC_TYPES] = { // path length from root to node
-		/*               B    C   SC   UC   SI  SUI    I   UI   LI  LUI  LLI LLUI   IB  UIB  _FH  _FH   _F  _FC    F   FC  _FX _FXC   FD _FDC    D   DC F80X_FDXC  F80  _FB_FLDC   FB   LD  LDC _FBX_FLDXC */
-		/*      B */ {   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  14,  15,  15,  16,  17,  16,  18,  17, },
-		/*      C */ {  -1,   0,   1,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  14,  15,  16,  15,  17,  16, },
-		/*     SC */ {  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  14,  15,  16,  15,  17,  16, },
-		/*     UC */ {  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  14,  15,  16,  15,  17,  16, },
-		/*     SI */ {  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  15,  14,  16,  15, },
-		/*    SUI */ {  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  15,  14,  16,  15, },
-		/*      I */ {  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  14,  13,  15,  14, },
-		/*     UI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  14,  13,  15,  14, },
-		/*     LI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  13,  12,  14,  13, },
-		/*    LUI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  13,  12,  14,  13, },
-		/*    LLI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  12,  11,  13,  12, },
-		/*   LLUI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  12,  11,  13,  12, },
-		/*     IB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  11,  10,  12,  11, },
-		/*    UIB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  11,  10,  12,  11, },
-		/*    _FH */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,  10,   9,  11,  10, },
-		/*    _FH */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,   5,  -1,   6,  -1,  -1,   7,  -1,  -1,   8,  -1,   9, },
-		/*     _F */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   9,   8,  10,   9, },
-		/*    _FC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,   5,  -1,  -1,   6,  -1,  -1,   7,  -1,   8, },
-		/*      F */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   8,   7,   9,   8, },
-		/*     FC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,  -1,   5,  -1,  -1,   6,  -1,   7, },
-		/*    _FX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   7,   6,   8,   7, },
-		/*   _FXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,  -1,   4,  -1,  -1,   5,  -1,   6, },
-		/*     FD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   6,   5,   7,   6, },
-		/*   _FDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,  -1,   3,  -1,  -1,   4,  -1,   5, },
-		/*      D */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   5,   4,   6,   5, },
-		/*     DC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,  -1,   2,  -1,  -1,   3,  -1,   4, },
-		/*   F80X */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   4,   3,   5,   4, },
-		/*  _FDXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   1,  -1,  -1,   2,  -1,   3, },
-		/*    F80 */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   0,   1,   2,   2,   3,   3,   4,   4, },
-		/*    _FB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3, },
-		/*  _FLDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   1,  -1,   2, },
-		/*     FB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   0,   1,   2,   2,   3, },
+		/*               B    C   SC   UC   SI  USI    I   UI   LI  ULI  LLI ULLI __ID__UID  _FH _FHC   _F  _FC    F   FC  _FX _FXC  _FD _FDC    D   DC _FDX_FDXC _F80 _FLD_FLDC__FLD   LD  LDC_FLDX_FLDXC */
+		/*      B */ {   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  14,  15,  16,  16,  17,  18,  18,  19, },
+		/*      C */ {  -1,   0,   1,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  15,  15,  16,  17,  17,  18, },
+		/*     SC */ {  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  15,  15,  16,  17,  17,  18, },
+		/*     UC */ {  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  13,  14,  15,  15,  16,  17,  17,  18, },
+		/*     SI */ {  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  14,  14,  15,  16,  16,  17, },
+		/*    USI */ {  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  12,  13,  14,  14,  15,  16,  16,  17, },
+		/*      I */ {  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  13,  13,  14,  15,  15,  16, },
+		/*     UI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  11,  12,  13,  13,  14,  15,  15,  16, },
+		/*     LI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  12,  12,  13,  14,  14,  15, },
+		/*    ULI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  10,  11,  12,  12,  13,  14,  14,  15, },
+		/*    LLI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  11,  11,  12,  13,  13,  14, },
+		/*   ULLI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,   9,  10,  11,  11,  12,  13,  13,  14, },
+		/*   __ID */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,  10,  10,  11,  12,  12,  13, },
+		/*  __UID */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   8,   9,  10,  10,  11,  12,  12,  13, },
+		/*    _FH */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   7,   8,   9,   9,  10,  11,  11,  12, },
+		/*   _FHC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,   5,  -1,   6,  -1,  -1,   8,  -1,  -1,  10,  -1,  11, },
+		/*     _F */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   6,   7,   8,   8,   9,  10,  10,  11, },
+		/*    _FC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,   5,  -1,  -1,   7,  -1,  -1,   9,  -1,  10, },
+		/*      F */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   5,   6,   7,   7,   8,   9,   9,  10, },
+		/*     FC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,   4,  -1,  -1,   6,  -1,  -1,   8,  -1,   9, },
+		/*    _FX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   4,   5,   6,   6,   7,   8,   8,   9, },
+		/*   _FXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,   3,  -1,  -1,   5,  -1,  -1,   7,  -1,   8, },
+		/*    _FD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   3,   4,   5,   5,   6,   7,   7,   8, },
+		/*   _FDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,   2,  -1,  -1,   4,  -1,  -1,   6,  -1,   7, },
+		/*      D */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   2,   3,   4,   4,   5,   6,   6,   7, },
+		/*     DC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1,  -1,  -1,   3,  -1,  -1,   5,  -1,   6, },
+		/*   _FDX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   3,   3,   4,   5,   5,   6, },
+		/*  _FDXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   2,  -1,  -1,   4,  -1,   5, },
+		/*   _F80 */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   0,   1,   2,   2,   3,   4,   4,   5, },
+		/*   _FLD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2,   3,   3,   4, },
+		/*  _FLDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   2,  -1,   3, },
+		/*  __FLD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,   0,   1,   2,   2,   3, },
 		/*     LD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   1,   2, },
 		/*    LDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   1, },
-		/*   _FBX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1, },
+		/*  _FLDX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1, },
 		/* _FLDXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0, },
 	}; // costMatrix
-	static const int maxIntCost = 15;
+	static const int maxIntCost = 16;
 	// GENERATED END
 	static_assert(
@@ -110,5 +110,5 @@
 	// GENERATED BY BasicTypes-gen.cpp
 	static const int signMatrix[ast::BasicKind::NUMBER_OF_BASIC_TYPES][ast::BasicKind::NUMBER_OF_BASIC_TYPES] = { // number of sign changes in safe conversion
-		/*               B    C   SC   UC   SI  SUI    I   UI   LI  LUI  LLI LLUI   IB  UIB  _FH  _FH   _F  _FC    F   FC  _FX _FXC   FD _FDC    D   DC F80X_FDXC  F80  _FB_FLDC   FB   LD  LDC _FBX_FLDXC */
+		/*               B    C   SC   UC   SI  USI    I   UI   LI  ULI  LLI ULLI __ID__UID  _FH _FHC   _F  _FC    F   FC  _FX _FXC  _FD _FDC    D   DC _FDX_FDXC _F80 _FLD_FLDC__FLD   LD  LDC_FLDX_FLDXC */
 		/*      B */ {   0,   0,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*      C */ {  -1,   0,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
@@ -116,15 +116,15 @@
 		/*     UC */ {  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*     SI */ {  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*    SUI */ {  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*    USI */ {  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*      I */ {  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*     UI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*     LI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*    LUI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*    ULI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*    LLI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*   LLUI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*     IB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*    UIB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*   ULLI */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*   __ID */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*  __UID */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*    _FH */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*    _FH */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
+		/*   _FHC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
 		/*     _F */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*    _FC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
@@ -133,17 +133,17 @@
 		/*    _FX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*   _FXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
-		/*     FD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*    _FD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*   _FDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
 		/*      D */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*     DC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
-		/*   F80X */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*   _FDX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
 		/*  _FDXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
-		/*    F80 */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
-		/*    _FB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0, },
+		/*   _F80 */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0,   0,   0, },
+		/*   _FLD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0,   0, },
 		/*  _FLDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,   0,  -1,   0, },
-		/*     FB */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0, },
+		/*  __FLD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0,   0,   0, },
 		/*     LD */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0,   0,   0, },
 		/*    LDC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,  -1,   0, },
-		/*   _FBX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0, },
+		/*  _FLDX */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,   0, },
 		/* _FLDXC */ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0, },
 	}; // signMatrix
Index: src/Virtual/ExpandCasts.cpp
===================================================================
--- src/Virtual/ExpandCasts.cpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/Virtual/ExpandCasts.cpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// ExpandCasts.cpp --
+// ExpandCasts.cpp -- Expand virtual casts into lower level code.
 //
 // Author           : Andrew Beach
Index: src/Virtual/ExpandCasts.hpp
===================================================================
--- src/Virtual/ExpandCasts.hpp	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ src/Virtual/ExpandCasts.hpp	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -5,18 +5,15 @@
 // file "LICENCE" distributed with Cforall.
 //
-// ExpandCasts.hpp --
+// ExpandCasts.hpp -- Expand virtual casts into lower level code.
 //
 // Author           : Andrew Beach
 // Created On       : Mon Jul 24 13:54:00 2017
 // Last Modified By : Andrew Beach
-// Last Modified On : Fri Jul 29 14:40:00 2022
-// Update Count     : 1
+// Last Modified On : Fri Jan 10 14:34:00 2025
+// Update Count     : 2
 //
 
 #pragma once
 
-#include <list>  // for list
-
-class Declaration;
 namespace ast {
 	class TranslationUnit;
@@ -24,9 +21,6 @@
 
 namespace Virtual {
-void expandCasts( std::list< Declaration * > & translationUnit );
 void expandCasts( ast::TranslationUnit & translationUnit );
 // Breaks all virtual cast nodes up into translatable nodes.
 
-// Later this might just set some information so it can happen at CodeGen.
-
 }
Index: tests/.expect/array-ERR1.txt
===================================================================
--- tests/.expect/array-ERR1.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/array-ERR1.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,8 +1,7 @@
-array.cfa:125:25: warning: Preprocessor started
-array.cfa:40:22: error: '[*]' not allowed in other than function prototype scope
+array.cfa:40:23: error: '[*]' not allowed in other than function prototype scope
 array.cfa:46:24: error: '[*]' not allowed in other than function prototype scope
-array.cfa: In function '_X4fredFi_i__1':
+array.cfa: In function '_X4fredFv_i__1':
 array.cfa:52:16: error: array size missing in '_X2a1A0i_2'
 array.cfa:53:26: error: '[*]' not allowed in other than function prototype scope
 array.cfa: At top level:
-array.cfa:64:1: error: '[*]' not allowed in other than function prototype scope
+array.cfa:74:1: error: '[*]' not allowed in other than function prototype scope
Index: tests/.expect/array-ERR2.txt
===================================================================
--- tests/.expect/array-ERR2.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/array-ERR2.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,2 +1,1 @@
-array.cfa:125:25: warning: Preprocessor started
-array.cfa:117:32: error: syntax error, unexpected STATIC before token "static"
+array.cfa:138:33: error: syntax error, unexpected STATIC before token "static"
Index: tests/.expect/array-ERR3.txt
===================================================================
--- tests/.expect/array-ERR3.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/array-ERR3.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,2 +1,1 @@
-array.cfa:125:25: warning: Preprocessor started
-array.cfa:118:32: error: syntax error, unexpected ']' before token "]"
+array.cfa:139:33: error: syntax error, unexpected ']' before token "]"
Index: tests/.expect/array.txt
===================================================================
--- tests/.expect/array.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/array.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-array.cfa:125:25: warning: Preprocessor started
+done
Index: tests/.expect/attr-priority.txt
===================================================================
--- tests/.expect/attr-priority.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/attr-priority.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,6 +1,2 @@
 attr-priority.cfa:7:1 warning: invalid attribute: constructor priorities from 101 to 200 are reserved for the implementation.
 attr-priority.cfa:12:1 warning: invalid attribute: destructor priorities from 101 to 200 are reserved for the implementation.
-attr-priority.cfa:8:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: malloc
-...to:
-
Index: tests/.expect/cast.txt
===================================================================
--- tests/.expect/cast.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/cast.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-cast.cfa:16:25: warning: Compiled
+done
Index: tests/.expect/castReturn.txt
===================================================================
--- tests/.expect/castReturn.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/.expect/castReturn.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,1 @@
+match
Index: tests/.expect/const-ref.txt
===================================================================
--- tests/.expect/const-ref.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/.expect/const-ref.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,1 @@
+done
Index: tests/.expect/expression.txt
===================================================================
--- tests/.expect/expression.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/expression.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-expression.cfa:86:25: warning: Compiled
+done
Index: tests/.expect/functions.arm64.txt
===================================================================
--- tests/.expect/functions.arm64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/functions.arm64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -123,5 +123,5 @@
 struct _tuple2_ {
 };
-static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, const unsigned long int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_0, const unsigned long int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_1){
+static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_1){
     ((void)((*_sizeof__tuple2_)=0));
     ((void)((*_alignof__tuple2_)=1));
@@ -160,5 +160,5 @@
 struct _tuple3_ {
 };
-static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, const unsigned long int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_0, const unsigned long int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_1, const unsigned long int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_2){
+static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_2){
     ((void)((*_sizeof__tuple3_)=0));
     ((void)((*_alignof__tuple3_)=1));
Index: tests/.expect/functions.x64.txt
===================================================================
--- tests/.expect/functions.x64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/functions.x64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -123,5 +123,5 @@
 struct _tuple2_ {
 };
-static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, const unsigned long int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_0, const unsigned long int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_1){
+static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_1){
     ((void)((*_sizeof__tuple2_)=0));
     ((void)((*_alignof__tuple2_)=1));
@@ -160,5 +160,5 @@
 struct _tuple3_ {
 };
-static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, const unsigned long int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_0, const unsigned long int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_1, const unsigned long int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_2){
+static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_2){
     ((void)((*_sizeof__tuple3_)=0));
     ((void)((*_alignof__tuple3_)=1));
Index: tests/.expect/functions.x86.txt
===================================================================
--- tests/.expect/functions.x86.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/functions.x86.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -123,5 +123,5 @@
 struct _tuple2_ {
 };
-static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, const unsigned long int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_0, const unsigned long int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_2_1){
+static inline void _layoutof__tuple2_(unsigned int *_sizeof__tuple2_, unsigned int *_alignof__tuple2_, unsigned int *_offsetof__tuple2_, __attribute__ ((unused)) const unsigned int _sizeof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned int _alignof_Y15tuple_param_2_0, __attribute__ ((unused)) const unsigned int _sizeof_Y15tuple_param_2_1, __attribute__ ((unused)) const unsigned int _alignof_Y15tuple_param_2_1){
     ((void)((*_sizeof__tuple2_)=0));
     ((void)((*_alignof__tuple2_)=1));
@@ -160,5 +160,5 @@
 struct _tuple3_ {
 };
-static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, const unsigned long int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_0, const unsigned long int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_1, const unsigned long int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned long int _alignof_Y15tuple_param_3_2){
+static inline void _layoutof__tuple3_(unsigned int *_sizeof__tuple3_, unsigned int *_alignof__tuple3_, unsigned int *_offsetof__tuple3_, __attribute__ ((unused)) const unsigned int _sizeof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned int _alignof_Y15tuple_param_3_0, __attribute__ ((unused)) const unsigned int _sizeof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned int _alignof_Y15tuple_param_3_1, __attribute__ ((unused)) const unsigned int _sizeof_Y15tuple_param_3_2, __attribute__ ((unused)) const unsigned int _alignof_Y15tuple_param_3_2){
     ((void)((*_sizeof__tuple3_)=0));
     ((void)((*_alignof__tuple3_)=1));
Index: tests/.expect/identFuncDeclarator.txt
===================================================================
--- tests/.expect/identFuncDeclarator.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/identFuncDeclarator.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-identFuncDeclarator.cfa:114:25: warning: Compiled
+done
Index: tests/.expect/init1-ERROR.txt
===================================================================
--- tests/.expect/init1-ERROR.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/init1-ERROR.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,3 +1,2 @@
-init1.cfa:134:25: warning: Compiled
 init1.cfa:56:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: rx  InitAlternative: reference to signed int
Index: tests/.expect/init1.txt
===================================================================
--- tests/.expect/init1.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/init1.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-init1.cfa:134:25: warning: Compiled
+done
Index: tests/.expect/limits.txt
===================================================================
--- tests/.expect/limits.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/limits.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-limits.cfa:152:25: warning: Compiled
+done
Index: tests/.expect/nested-types-ERR1.txt
===================================================================
--- tests/.expect/nested-types-ERR1.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/nested-types-ERR1.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,2 +1,1 @@
-nested-types.cfa:100:25: warning: Compiled
-nested-types.cfa:83:1 error: Use of undefined type T.
+nested-types.cfa:85:1 error: Use of undefined type T.
Index: tests/.expect/nested-types-ERR2.txt
===================================================================
--- tests/.expect/nested-types-ERR2.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/nested-types-ERR2.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,6 +1,5 @@
-nested-types.cfa:100:25: warning: Compiled
-nested-types.cfa:86:1 error: Use of undefined global type Z.
-nested-types.cfa:87:1 error: Qualified type requires an aggregate on the left, but has signed int.
-nested-types.cfa:88:1 error: Undefined type in qualified type Qualified Type:
+nested-types.cfa:88:1 error: Use of undefined global type Z.
+nested-types.cfa:89:1 error: Qualified type requires an aggregate on the left, but has signed int.
+nested-types.cfa:90:1 error: Undefined type in qualified type Qualified Type:
   instance of struct S with body
   instance of type Z (not function type)
Index: tests/.expect/nested-types.txt
===================================================================
--- tests/.expect/nested-types.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/nested-types.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-nested-types.cfa:100:25: warning: Compiled
+done
Index: tests/.expect/numericConstants.txt
===================================================================
--- tests/.expect/numericConstants.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/numericConstants.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-numericConstants.cfa:66:25: warning: Compiled
+done
Index: tests/.expect/quasiKeyword.txt
===================================================================
--- tests/.expect/quasiKeyword.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/quasiKeyword.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-quasiKeyword.cfa:52:25: warning: Compiled
+done
Index: tests/.expect/switch.txt
===================================================================
--- tests/.expect/switch.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/switch.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-switch.cfa:103:25: warning: Compiled
+done
Index: tests/.expect/typedefRedef-ERR1.txt
===================================================================
--- tests/.expect/typedefRedef-ERR1.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/typedefRedef-ERR1.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,3 +1,2 @@
-typedefRedef.cfa:87:25: warning: Compiled
 typedefRedef.cfa:4:1 error: Cannot redefine typedef Foo
 typedefRedef.cfa:31:1 error: Cannot redefine typedef ARR
Index: tests/.expect/typedefRedef.txt
===================================================================
--- tests/.expect/typedefRedef.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/typedefRedef.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-typedefRedef.cfa:87:25: warning: Compiled
+done
Index: tests/.expect/variableDeclarator.txt
===================================================================
--- tests/.expect/variableDeclarator.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/.expect/variableDeclarator.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-variableDeclarator.cfa:180:25: warning: Compiled
+done
Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/Makefile.am	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -51,19 +51,16 @@
 # Making this association implicit would be ideal, but requires learning more automake than is affordable.
 WFLGAS_OPT_LAX = \
-	alloc \
-	array \
-	array-collections/boxed \
-		array-collections/boxed% \
-	array-collections/dimexpr-match-c \
-	array-collections/dimexpr-match-cfa \
-	array-ERR1 \
-	array-ERR2 \
-	array-ERR3 \
+	${WFLGAS_OPT_LAX_EXPECT_WARN} \
+	${WFLGAS_OPT_LAX_TO_INVESTIGATE}
+
+# Tests checking that cfa-cc raises a certain warning, so -Werror is permanently inappropriate
+WFLGAS_OPT_LAX_EXPECT_WARN = \
+	attr-priority \
+	warnings/self-assignment
+
+# Tests that need investigation from the CFA team about why they require lax wflags.  Goal is to eliminate this list.
+WFLGAS_OPT_LAX_TO_INVESTIGATE = \
 	attributes \
-	attr-priority \
-	builtins/sync \
-	cast \
 	collections/atomic_mpsc \
-	collections/multi_list \
 	collections/queue \
 	collections/sequence \
@@ -79,48 +76,19 @@
 	concurrency/actors/static \
 	concurrency/actors/types \
-	concurrency/barrier/generation \
-	concurrency/barrier/last \
-	concurrency/barrier/order \
-	concurrency/channels/big_elems \
 	concurrency/channels/churn \
 	concurrency/channels/contend \
 	concurrency/channels/daisy_chain \
 	concurrency/channels/hot_potato \
-	concurrency/channels/ping_pong \
 	concurrency/channels/pub_sub \
-	concurrency/channels/zero_size \
-	concurrency/cluster \
-	concurrency/cofor \
-	concurrency/coroutineYield \
-	concurrency/examples/boundedBufferEXT \
-	concurrency/examples/boundedBufferINT \
 	concurrency/futures/multi \
 	concurrency/futures/select_future \
 	concurrency/futures/typed \
-	concurrency/futures/wait_any \
-	concurrency/join \
 	concurrency/lockfree_stack \
-	concurrency/migrate \
-	concurrency/monitor \
-	concurrency/multi-monitor \
-	concurrency/mutexstmt/locks \
-	concurrency/mutexstmt/monitors \
-	concurrency/mutexstmt/tuple \
-	concurrency/once \
-	concurrency/preempt \
 	concurrency/pthread/bounded_buffer \
 	concurrency/pthread/pthread_attr_test \
-	concurrency/pthread/pthread_cond_test \
 	concurrency/pthread/pthread_demo_create_join \
 	concurrency/pthread/pthread_demo_lock \
 	concurrency/pthread/pthread_key_test \
 	concurrency/pthread/pthread_once_test \
-	concurrency/readyQ/leader_spin \
-	concurrency/signal/block \
-	concurrency/signal/disjoint \
-	concurrency/signal/wait \
-	concurrency/sleep \
-	concurrency/suspend_then \
-	concurrency/thread \
 	concurrency/unified_locking/block_spin_lock \
 	concurrency/unified_locking/exp_backoff \
@@ -135,45 +103,23 @@
 	concurrency/unified_locking/spin_queue_lock \
 	concurrency/unified_locking/timeout_lock \
-	concurrency/waitfor/barge \
-	concurrency/waitfor/parse \
-	concurrency/waitfor/statment \
-	concurrency/waitfor/when \
 	concurrency/waituntil/all_types \
 	concurrency/waituntil/basic_else \
 	concurrency/waituntil/channel_close \
-	concurrency/waituntil/channel_zero_size \
 	concurrency/waituntil/channels \
 	concurrency/waituntil/futures \
 	concurrency/waituntil/locks \
-	concurrency/waituntil/one_chan \
 	concurrency/waituntil/repeat_close \
 	concurrency/waituntil/timeout \
-	configs/parsebools \
-	configs/parsenums \
 	configs/usage \
-	coroutine/raii \
-	ctrl-flow/goto \
-	ctrl-flow/ifwhileCtl \
 	ctrl-flow/labelledExit \
 	ctrl-flow/loop_else \
 	designations \
-	enum \
-	enum_tests/inc-dec \
-	enum_tests/planet \
-	enum_tests/structEnum \
 	exceptions/cardgame \
 	exceptions/defaults \
 	exceptions/defaults-threads \
-	exceptions/hotpotato \
-	exceptions/hotpotato_checked \
-	exceptions/pingpong_nonlocal \
-	exceptions/polymorphic \
 	exceptions/try-leave-catch \
-	exceptions/virtual-poly \
-	expression \
 	forall \
 	function-operator \
 	gmp \
-	identFuncDeclarator \
 	identParamDeclarator \
 	include/includes \
@@ -182,66 +128,26 @@
 	include/vector-fstream \
 	include/vector-sequence \
-	init1 \
-	init1-ERROR \
 	io/away_fair \
 	io/comp_basic \
 	io/comp_fair \
-	io/io-acquire \
-	io/io-acquire2 \
-	io/io-acquire-in \
-	io/io-acquire-no-io \
-	io/io-acquire-out \
 	io/manipulatorsInput \
 	io/manipulatorsInput-uchunk \
 	io/many_read \
-	limits \
-	linking/io-acquire \
-	linking/mangling/anon \
-		linking/mangling/lib.o \
-		linking/mangling/main.o \
-	linkonce \
-		link-once/% \
-	malloc \
 	math \
-	mathX \
-	maybe \
 	minmax \
-	nested-types \
-	nested-types-ERR1 \
-	nested-types-ERR2 \
-	numericConstants \
 	operators \
-	poly-d-cycle \
 	poly-many-arsz \
-	poly-member \
 	polymorphism \
-	poly-o-cycle \
-	PRNG \
-	quasiKeyword \
-	quotedKeyword \
-	raii/boxed-types \
 	raii/ctor-autogen \
 	raii/dtor-early-exit \
 	raii/init_once \
-	raii/partial \
 	references \
-	result \
 	shortCircuit \
-	sizeof \
-	smart-pointers \
 	sum \
 	switch \
-	tuple/tupleAssign \
 	tuple/tupleCast \
 	tuple/tupleMember \
-	tuple/tuplePolymorphism \
-	tuple/tupleVariadic \
-	typedefRedef \
-	typedefRedef-ERR1 \
-	typeof \
 	userLiterals \
-	variableDeclarator \
-	vector \
-	warnings/self-assignment
+	vector
 
 WFLAGS=${if ${filter ${WFLGAS_OPT_LAX},${@}},${WFLAGS_LAX},${WFLAGS_STRICT}}
@@ -413,7 +319,5 @@
 CFACOMPILE_SYNTAX = ${CFACOMPILETEST} -Wno-unused-variable -Wno-unused-label -c -fsyntax-only -o ${abspath ${@}}
 
-SYNTAX_ONLY_CODE = \
-	array cast expression identFuncDeclarator init1 limits nested-types numericConstants opt-params quasiKeyword switch typedefRedef variableDeclarator \
-	builtins/sync concurrency/waitfor/parse ctrl-flow/labelledExit include/stdincludes include/includes warnings/self-assignment
+SYNTAX_ONLY_CODE = attr-priority warnings/self-assignment
 
 ${SYNTAX_ONLY_CODE} : % : %.cfa ${CFACCBIN}
Index: tests/PRNG.cfa
===================================================================
--- tests/PRNG.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/PRNG.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -86,5 +86,5 @@
 
 thread T3 {};
-void main( T3 & th ) {
+void main( T3 & ) {
 	size_t * buckets = calloc( BUCKETS );				// too big for task stack
 	for ( TRIALS / 5 ) {
Index: tests/alloc.cfa
===================================================================
--- tests/alloc.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/alloc.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -21,7 +21,7 @@
 #include <stdlib.hfa>									// access C malloc, realloc
 
-int * foo( int * p, int c ) { return p; }
-int * bar( int * p, int c ) { return p; }
-int * baz( int * p, int c ) { return p; }
+int * foo( int * p, int ) { return p; }
+int * bar( int * p, int ) { return p; }
+int * baz( int * p, int ) { return p; }
 
 int main( void ) {
@@ -217,5 +217,5 @@
 		const_count++;
 	}
-	void ^?{}( Struct & a ) { dest_count++; }			// destruct
+	void ^?{}( Struct & ) { dest_count++; }			// destruct
 	Struct st, st1, sta[dim], sta1[dim], * stp, * stp1;
 
Index: tests/array-collections/.expect/dimexpr-match-c-ERRS.arm64.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-c-ERRS.arm64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-c-ERRS.arm64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -165,5 +165,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -175,5 +175,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -185,5 +185,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -195,5 +195,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -205,5 +205,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -215,5 +215,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -225,5 +225,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -235,5 +235,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -245,5 +245,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -255,30 +255,30 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -290,5 +290,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -300,5 +300,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -310,5 +310,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -320,5 +320,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -330,5 +330,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -340,5 +340,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -350,5 +350,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -360,5 +360,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -370,5 +370,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -380,5 +380,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -390,392 +390,418 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
Index: tests/array-collections/.expect/dimexpr-match-c-ERRS.x64.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-c-ERRS.x64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-c-ERRS.x64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -165,5 +165,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -175,5 +175,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -185,5 +185,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -195,5 +195,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -205,5 +205,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -215,5 +215,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -225,5 +225,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -235,5 +235,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -245,5 +245,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -255,30 +255,30 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Sizeof Expression on: instance of type dim7 (not function type)
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -290,5 +290,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -300,5 +300,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -310,5 +310,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -320,5 +320,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -330,5 +330,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -340,5 +340,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -350,5 +350,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -360,5 +360,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -370,5 +370,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -380,5 +380,5 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -390,392 +390,418 @@
   ... with resolved type:
     unsigned long int
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
Index: tests/array-collections/.expect/dimexpr-match-c-ERRS.x86.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-c-ERRS.x86.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-c-ERRS.x86.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:34:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:40:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -165,5 +165,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -175,5 +175,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -185,5 +185,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -195,5 +195,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -205,5 +205,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -215,5 +215,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -225,5 +225,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -235,5 +235,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -245,5 +245,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -255,5 +255,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -265,5 +265,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -275,5 +275,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -285,5 +285,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -295,5 +295,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to array of float with dimension of Generated Cast of:
@@ -305,5 +305,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -315,5 +315,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -325,5 +325,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -335,5 +335,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -345,5 +345,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -355,5 +355,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -365,5 +365,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -375,5 +375,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -385,5 +385,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -395,5 +395,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -405,5 +405,5 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:42:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-c.cfa:49:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to variable length array of float with dimension of Generated Cast of:
@@ -415,392 +415,418 @@
   ... with resolved type:
     unsigned int
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:51:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-c.cfa:81:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:49:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:58:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-c.cfa:88:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
Index: tests/array-collections/.expect/dimexpr-match-c.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-c.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-c.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,3 +1,3 @@
----- PTRPARM_CALL:   { void f( float (*x)[__L__] ) {} float a[__R__]; f( & a ); }
+---- PTRPARM_CALL:   { void f( float (*x)[__L__] ) { (void) x; } float a[__R__]; f( & a ); }
 done STA EQ STA, L=7, R=7
 skip STA NE STA, L=7, R=42
@@ -32,5 +32,5 @@
 skip DYN NE UNS, L=dim7, R=mut42
 skip UNS NE DYN, L=mut7, R=dim42
----- PTRVAR_INIT:   { float a[__R__]; float (*b)[__L__] = & a; }
+---- PTRVAR_INIT:   { float a[__R__]; float (*b)[__L__] = & a; (void) b; }
 done STA EQ STA, L=7, R=7
 skip STA NE STA, L=7, R=42
Index: tests/array-collections/.expect/dimexpr-match-cfa-ERRS.arm64.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-cfa-ERRS.arm64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-cfa-ERRS.arm64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -171,5 +171,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -187,5 +187,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -203,5 +203,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -219,5 +219,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -235,5 +235,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -251,5 +251,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -267,5 +267,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -283,5 +283,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -299,5 +299,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -315,5 +315,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -324,5 +324,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -333,5 +333,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -342,5 +342,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -351,5 +351,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -360,5 +360,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -376,5 +376,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -392,5 +392,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -408,5 +408,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -424,5 +424,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -440,5 +440,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -456,5 +456,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -472,5 +472,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -488,5 +488,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -504,5 +504,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -520,5 +520,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -536,317 +536,343 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -863,5 +889,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -878,5 +904,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -893,5 +919,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -908,5 +934,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -923,5 +949,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -938,5 +964,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -953,5 +979,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -968,5 +994,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -983,5 +1009,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -998,5 +1024,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1006,5 +1032,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1014,5 +1040,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1022,5 +1048,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1030,5 +1056,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1038,5 +1064,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1053,5 +1079,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1068,5 +1094,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1083,5 +1109,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1098,5 +1124,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1113,5 +1139,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1128,5 +1154,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1143,5 +1169,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1158,5 +1184,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1173,5 +1199,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1188,5 +1214,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1203,366 +1229,392 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
Index: tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x64.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x64.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x64.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -171,5 +171,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -187,5 +187,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -203,5 +203,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -219,5 +219,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -235,5 +235,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -251,5 +251,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -267,5 +267,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -283,5 +283,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -299,5 +299,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -315,5 +315,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -324,5 +324,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -333,5 +333,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -342,5 +342,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -351,5 +351,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -360,5 +360,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -376,5 +376,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -392,5 +392,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -408,5 +408,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -424,5 +424,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -440,5 +440,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -456,5 +456,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -472,5 +472,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -488,5 +488,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -504,5 +504,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -520,5 +520,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -536,317 +536,343 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -863,5 +889,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -878,5 +904,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -893,5 +919,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -908,5 +934,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -923,5 +949,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -938,5 +964,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -953,5 +979,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -968,5 +994,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -983,5 +1009,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -998,5 +1024,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1006,5 +1032,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1014,5 +1040,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1022,5 +1048,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1030,5 +1056,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1038,5 +1064,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1053,5 +1079,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1068,5 +1094,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1083,5 +1109,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1098,5 +1124,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1113,5 +1139,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1128,5 +1154,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1143,5 +1169,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1158,5 +1184,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1173,5 +1199,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1188,5 +1214,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1203,366 +1229,392 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
Index: tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x86.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x86.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-cfa-ERRS.x86.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,159 +1,159 @@
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:66:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -171,5 +171,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -187,5 +187,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -203,5 +203,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -219,5 +219,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -235,5 +235,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -251,5 +251,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -267,5 +267,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -283,5 +283,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -299,5 +299,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -315,5 +315,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -324,5 +324,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -333,5 +333,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -342,5 +342,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -351,5 +351,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -360,5 +360,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -376,5 +376,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -392,5 +392,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -408,5 +408,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -424,5 +424,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -440,5 +440,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -456,5 +456,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -472,5 +472,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -488,5 +488,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -504,5 +504,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -520,5 +520,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:68:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Address of:
     Name: a  InitAlternative: pointer to instance of struct arpk with body
@@ -536,317 +536,343 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:77:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:86:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: f
-...to:
-  Name: a
-
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:75:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:84:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:93:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: f
+...to:
+  Name: a
+
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -863,5 +889,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -878,5 +904,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -893,5 +919,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -908,5 +934,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -923,5 +949,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -938,5 +964,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -953,5 +979,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -968,5 +994,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -983,5 +1009,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -998,5 +1024,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1006,5 +1032,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1014,5 +1040,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1022,5 +1048,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1030,5 +1056,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1038,5 +1064,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1053,5 +1079,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1068,5 +1094,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1083,5 +1109,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1098,5 +1124,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1113,5 +1139,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1128,5 +1154,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1143,5 +1169,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1158,5 +1184,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1173,5 +1199,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1188,5 +1214,5 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:94:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+array-collections/dimexpr-match-cfa.cfa:102:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
   Name: a  InitAlternative: reference to instance of struct arpk with body
   ... with parameters
@@ -1203,366 +1229,392 @@
     float
 
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:103:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: ?=?
-...to:
-  Address of:
-    Name: b
-  Address of:
-    Name: a
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
-array-collections/dimexpr-match-cfa.cfa:112:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
-  Name: zip
-...to:
-  Name: a
-  Name: b
-
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:102:1 error: No alternatives for expression Name: b
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:111:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Address of:
+    Name: b
+  Address of:
+    Name: a
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
+array-collections/dimexpr-match-cfa.cfa:120:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: zip
+...to:
+  Name: a
+  Name: b
+
Index: tests/array-collections/.expect/dimexpr-match-cfa.txt
===================================================================
--- tests/array-collections/.expect/dimexpr-match-cfa.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/.expect/dimexpr-match-cfa.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,36 +1,36 @@
----- PTRPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * x ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( & a ); }
-done STA EQ STA, L=7, R=7
-skip STA NE STA, L=7, R=42
-done STA EQ STA, L=7, R=enu7
-skip STA NE STA, L=7, R=enu42
-skip STA NE DYN, L=7, R=cpr42
-skip STA NE UNS, L=7, R=mut42
-done STA EQ STA, L=enu7, R=enu7
-skip STA NE STA, L=enu7, R=enu42
-done STA EQ STA, L=enu7, R=7
-skip STA NE STA, L=enu7, R=42
-skip STA NE DYN, L=enu7, R=cpr42
-skip STA NE UNS, L=enu7, R=mut42
-done DYN EQ DYN, L=cpr7, R=cpr7
-skip DYN NE DYN, L=cpr7, R=cpr42
-skip DYN NE STA, L=cpr7, R=42
-skip DYN NE STA, L=cpr7, R=enu42
-skip DYN NE UNS, L=cpr7, R=mut42
-skip UNS EQ UNS, L=mut7, R=mut7
-skip UNS NE UNS, L=mut7, R=mut42
-skip UNS NE STA, L=mut7, R=42
-skip UNS NE STA, L=mut7, R=enu42
-skip UNS NE DYN, L=mut7, R=cpr42
-skip STA NE DYN, L=7, R=dim42
-skip STA NE DYN, L=enu7, R=dim42
-skip DYN NE DYN, L=cpr7, R=dim42
-done DYN EQ DYN, L=dim7, R=dim7
-skip DYN NE DYN, L=dim7, R=dim42
-skip DYN NE STA, L=dim7, R=42
-skip DYN NE STA, L=dim7, R=enu42
-skip DYN NE DYN, L=dim7, R=cpr42
-skip DYN NE UNS, L=dim7, R=mut42
-skip UNS NE DYN, L=mut7, R=dim42
----- PTRVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * b = & a; }
+---- PTRPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( & a ); }
+done STA EQ STA, L=7, R=7
+skip STA NE STA, L=7, R=42
+done STA EQ STA, L=7, R=enu7
+skip STA NE STA, L=7, R=enu42
+skip STA NE DYN, L=7, R=cpr42
+skip STA NE UNS, L=7, R=mut42
+done STA EQ STA, L=enu7, R=enu7
+skip STA NE STA, L=enu7, R=enu42
+done STA EQ STA, L=enu7, R=7
+skip STA NE STA, L=enu7, R=42
+skip STA NE DYN, L=enu7, R=cpr42
+skip STA NE UNS, L=enu7, R=mut42
+done DYN EQ DYN, L=cpr7, R=cpr7
+skip DYN NE DYN, L=cpr7, R=cpr42
+skip DYN NE STA, L=cpr7, R=42
+skip DYN NE STA, L=cpr7, R=enu42
+skip DYN NE UNS, L=cpr7, R=mut42
+skip UNS EQ UNS, L=mut7, R=mut7
+skip UNS NE UNS, L=mut7, R=mut42
+skip UNS NE STA, L=mut7, R=42
+skip UNS NE STA, L=mut7, R=enu42
+skip UNS NE DYN, L=mut7, R=cpr42
+skip STA NE DYN, L=7, R=dim42
+skip STA NE DYN, L=enu7, R=dim42
+skip DYN NE DYN, L=cpr7, R=dim42
+done DYN EQ DYN, L=dim7, R=dim7
+skip DYN NE DYN, L=dim7, R=dim42
+skip DYN NE STA, L=dim7, R=42
+skip DYN NE STA, L=dim7, R=enu42
+skip DYN NE DYN, L=dim7, R=cpr42
+skip DYN NE UNS, L=dim7, R=mut42
+skip UNS NE DYN, L=mut7, R=dim42
+---- PTRVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * b = & a; (void) b; }
 done STA EQ STA, L=7, R=7
 skip STA NE STA, L=7, R=42
@@ -98,38 +98,38 @@
 skip DYN NE UNS, L=dim7, R=mut42
 skip UNS NE DYN, L=mut7, R=dim42
----- REFPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & x ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( a ); }
-done STA EQ STA, L=7, R=7
-skip STA NE STA, L=7, R=42
-done STA EQ STA, L=7, R=enu7
-skip STA NE STA, L=7, R=enu42
-skip STA NE DYN, L=7, R=cpr42
-skip STA NE UNS, L=7, R=mut42
-done STA EQ STA, L=enu7, R=enu7
-skip STA NE STA, L=enu7, R=enu42
-done STA EQ STA, L=enu7, R=7
-skip STA NE STA, L=enu7, R=42
-skip STA NE DYN, L=enu7, R=cpr42
-skip STA NE UNS, L=enu7, R=mut42
-done DYN EQ DYN, L=cpr7, R=cpr7
-skip DYN NE DYN, L=cpr7, R=cpr42
-skip DYN NE STA, L=cpr7, R=42
-skip DYN NE STA, L=cpr7, R=enu42
-skip DYN NE UNS, L=cpr7, R=mut42
-skip UNS EQ UNS, L=mut7, R=mut7
-skip UNS NE UNS, L=mut7, R=mut42
-skip UNS NE STA, L=mut7, R=42
-skip UNS NE STA, L=mut7, R=enu42
-skip UNS NE DYN, L=mut7, R=cpr42
-skip STA NE DYN, L=7, R=dim42
-skip STA NE DYN, L=enu7, R=dim42
-skip DYN NE DYN, L=cpr7, R=dim42
-done DYN EQ DYN, L=dim7, R=dim7
-skip DYN NE DYN, L=dim7, R=dim42
-skip DYN NE STA, L=dim7, R=42
-skip DYN NE STA, L=dim7, R=enu42
-skip DYN NE DYN, L=dim7, R=cpr42
-skip DYN NE UNS, L=dim7, R=mut42
-skip UNS NE DYN, L=mut7, R=dim42
----- REFVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & b = a; }
+---- REFPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( a ); }
+done STA EQ STA, L=7, R=7
+skip STA NE STA, L=7, R=42
+done STA EQ STA, L=7, R=enu7
+skip STA NE STA, L=7, R=enu42
+skip STA NE DYN, L=7, R=cpr42
+skip STA NE UNS, L=7, R=mut42
+done STA EQ STA, L=enu7, R=enu7
+skip STA NE STA, L=enu7, R=enu42
+done STA EQ STA, L=enu7, R=7
+skip STA NE STA, L=enu7, R=42
+skip STA NE DYN, L=enu7, R=cpr42
+skip STA NE UNS, L=enu7, R=mut42
+done DYN EQ DYN, L=cpr7, R=cpr7
+skip DYN NE DYN, L=cpr7, R=cpr42
+skip DYN NE STA, L=cpr7, R=42
+skip DYN NE STA, L=cpr7, R=enu42
+skip DYN NE UNS, L=cpr7, R=mut42
+skip UNS EQ UNS, L=mut7, R=mut7
+skip UNS NE UNS, L=mut7, R=mut42
+skip UNS NE STA, L=mut7, R=42
+skip UNS NE STA, L=mut7, R=enu42
+skip UNS NE DYN, L=mut7, R=cpr42
+skip STA NE DYN, L=7, R=dim42
+skip STA NE DYN, L=enu7, R=dim42
+skip DYN NE DYN, L=cpr7, R=dim42
+done DYN EQ DYN, L=dim7, R=dim7
+skip DYN NE DYN, L=dim7, R=dim42
+skip DYN NE STA, L=dim7, R=42
+skip DYN NE STA, L=dim7, R=enu42
+skip DYN NE DYN, L=dim7, R=cpr42
+skip DYN NE UNS, L=dim7, R=mut42
+skip UNS NE DYN, L=mut7, R=dim42
+---- REFVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & b = a; (void) b; }
 done STA EQ STA, L=7, R=7
 skip STA NE STA, L=7, R=42
Index: tests/array-collections/boxed.main.cfa
===================================================================
--- tests/array-collections/boxed.main.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/boxed.main.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -366,5 +366,6 @@
     SHOW_ACCESS_1D(42)
 }
-char * allocAndAccess_13 ( size_t expectedElmSz, const char * tcid, const char * vart ) { 
+char * allocAndAccess_13 ( size_t expectedElmSz, const char * tcid, const char * vart ) {
+    (void) vart;
     printf("------- 13%s (communication, mono-poly direct, by param T[]): char x[42], expecting %zd-byte elems\n", tcid, expectedElmSz);
     char x[ 42 ] INITARR;
@@ -373,5 +374,6 @@
     return 0p;
 }
-bigun * allocAndAccess_13( size_t expectedElmSz, const char * tcid, const char * vart ) { 
+bigun * allocAndAccess_13( size_t expectedElmSz, const char * tcid, const char * vart ) {
+    (void) vart;
     printf("------- 13%s (communication, mono-poly direct, by param T[]): bigun x[42], expecting %zd-byte elems\n", tcid, expectedElmSz);
     bigun x[ 42 ] INITARR;
@@ -383,9 +385,10 @@
 // ---------- 14, comm, MPD, PARR
 
-forall( T* ) void access_14 ( size_t expectedElmSz, T (*temp)[42] ) { 
+forall( T* ) void access_14 ( size_t expectedElmSz, T (*temp)[42] ) {
     T * x = *temp;
     SHOW_ACCESS_1D(42)
 }
-double * allocAndAccess_14 ( size_t expectedElmSz, const char * tcid, const char * vart ) { 
+double * allocAndAccess_14 ( size_t expectedElmSz, const char * tcid, const char * vart ) {
+    (void) vart;
     printf("------- 13%s (communication, mono-poly direct, by param T(*)[*]): double x[42], expecting %zd-byte elems\n", tcid, expectedElmSz);
     double x[ 42 ] INITARR;
@@ -397,5 +400,5 @@
 // ---------- 15, operators
 
-forall( T* ) void access_15 ( size_t expectedElmSz, T x[] ) {
+forall( T* ) void access_15 ( T x[] ) {
     // correctness of x and ?[?] established by earlier tests
     T * x5 = & x[5];
@@ -414,5 +417,5 @@
 
     ptrdiff_t expPos5 = x5 - x;
-    ptrdiff_t expNeg5 = x - x5;
+//  ptrdiff_t expNeg5 = x - x5;
 
     printf( "?-? +ve off by %zd\n", ((ptrdiff_t) 5) - expPos5 );
@@ -421,8 +424,9 @@
 
 forall( T ) T * allocAndAccess_15 ( size_t expectedElmSz, const char * tcid, const char * vart ) { 
+    (void) expectedElmSz;
     printf("------- 15%s (operators): T x[42], expecting T=%s, got sizeof(T)=%zd, expecting %zd-byte elems\n", tcid, vart, sizeof(T), expectedElmSz);
     T x[ 42 ] INITARR;
     // bookends unused
-    access_15( expectedElmSz, x );
+    access_15( x );
     return 0p;
 }
Index: tests/array-collections/dimexpr-match-c.cfa
===================================================================
--- tests/array-collections/dimexpr-match-c.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/dimexpr-match-c.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -26,7 +26,13 @@
     int mut7 = 7, mut42 = 42;
 
+    // Many are only used in rejection cases, so they are unused in the non-ERRS compilation.
+    (void) cpr7;
+    (void) cpr42;
+    (void) mut7;
+    (void) mut42;
+
     #define TRY_COMPAT( LV, RV )        \
     {                                   \
-        void f( float (*x)[LV] ) {}     \
+        void f( float (*x)[LV] ) { (void) x; }      \
         float a[RV];                    \
         f( & a );                       \
@@ -39,4 +45,5 @@
         float a[RV];                    \
         float (*b)[LV] = & a;           \
+        (void) b;                       \
     }
     ARRANGEMENT( PTRVAR_INIT )
Index: tests/array-collections/dimexpr-match-cfa.cfa
===================================================================
--- tests/array-collections/dimexpr-match-cfa.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array-collections/dimexpr-match-cfa.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -45,5 +45,5 @@
 
 forall( [N] )
-void zip( array(float, N) & a, array(float, N) & b ) {}
+void zip( array(float, N) &, array(float, N) & ) {}
 
 DECLN_runTests {
@@ -52,7 +52,13 @@
     int mut7 = 7, mut42 = 42;
 
+    // Many are only used in rejection cases, so they are unused in the non-ERRS compilation.
+    (void) cpr7;
+    (void) cpr42;
+    (void) mut7;
+    (void) mut42;
+
     #define TRY_COMPAT( LV, RV )            \
     {                                       \
-        void f( array(float, LV) * x ) {}   \
+        void f( array(float, LV) * ) {}     \
         array(float, RV) a;                 \
         f( & a );                           \
@@ -65,4 +71,5 @@
         array(float, RV) a;                 \
         array(float, LV) * b = & a;         \
+        (void) b;                           \
     }
     ARRANGEMENT( PTRVAR_INIT )
@@ -80,5 +87,5 @@
     #define TRY_COMPAT( LV, RV )            \
     {                                       \
-        void f( array(float, LV) & x ) {}   \
+        void f( array(float, LV) & ) {}     \
         array(float, RV) a;                 \
         f( a );                             \
@@ -91,4 +98,5 @@
         array(float, RV) a;                 \
         array(float, LV) & b = a;           \
+        (void) b;                           \
     }
     ARRANGEMENT( REFVAR_INIT )
Index: tests/array.cfa
===================================================================
--- tests/array.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/array.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -37,8 +37,8 @@
 #endif
 
-    int a1[0];
-E1( int a2[*];       )
+    int ga1[0];
+E1( int ga2[*];       )
                                                         #ifndef __cforall
-E1( double a4[3.0];  )                                  // BUG 275: CFA accepts but should reject
+E1( int ga3[3.0];  )                                  // BUG 275: CFA accepts but should reject
                                                         #endif
 
@@ -49,29 +49,47 @@
     typedef int T;
 
-    int fred(int n) {
-E1(     int a1[];    )
-E1(     int a2[*];   )
-        int a4[3];
-        int T[3];
-        int a5[n];
+    void fred(int n) {
+E1(     int a1[];   )
+E1(     int a2[*];  )
+        int a4[3];      (void) a4;
+        int T[3];       (void) T;
+        int a5[n];      (void) a5;
     }
 
-    int fred2(int n,
+    void fred2(int n,
         int a1[],
-E1(     int a2[*],   )
+E1(     int a2[*],  )
         int a4[3],
-        int T[3],
+        int T[3]        __attribute__((unused)),
         int a5[n]
-    ) {}
+    ) {
+        // FIX ME: Replace attribute-unused on T with void cast, once Trac 297 is fixed.
+        // This parameter should be in scope and usable within the body.
 
-    int mary( int T[3],                                 // same as: int *T
-              int p1[const 3],                          // same as: int const *p1
-              int p2[static 3],                         // same as T, but length >=3 checked
-              int p3[static const 3]                    // both above: 3 is static, p3 is const
-        ) {
+        (void) a1;
+E1(     (void) a2;  )
+        (void) a4;
+//      (void) T;
+        (void) a5;
+    }
+
+    void mary(
+        int T[3]        __attribute__((unused)),  // same as: int *T
+        int p1[const 3],                          // same as: int const *p1
+        int p2[static 3],                         // same as T, but length >=3 checked
+        int p3[static const 3]                    // both above: 3 is static, p3 is const
+    ) {
+        // FIX ME: Replace attribute-unused on T with void cast, once Trac 297 is fixed.
+        // This parameter should be in scope and usable within the body.
+
+//      (void) T;
+        (void) p1;
+        (void) p2;
+        (void) p3;
     }
 
     // function taking (), returning pointer to array of ints
     int (*tom())[3] {
+        return 0p;
     }
 
@@ -82,4 +100,5 @@
                      int p3[static const 3]
         ) {
+        return 0p;
     }
 
@@ -87,4 +106,5 @@
     #ifdef __cforall
     [ * [3] int ] toms_twin(...) {
+        return 0p;
     }
     [ * [int]( [3] int T,
@@ -94,4 +114,5 @@
              )
     ] janes_twin(...) {
+        return 0p;
     }
     #endif
@@ -112,16 +133,16 @@
     // 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 fm5x( int, int, int[*][*] );                    // same as fm1 decl
-    int fm5y( int r, int c, int m[r][c] ) {}            // same as fm1 defn
+    void fm1x( int, int, int[][*] );
+    void fm1y( int r, int c, int m[][c] ) { (void) r; (void) c; (void) m; }
+    void fm2( int r, int c, int (*m)[c] ) { (void) r; (void) c; (void) m; }             // same as fm1
+E2( void fm3( int r, int c, int m[][static c] ) {}  )    // that's not static
+E3( void fm4( int r, int c, int m[][] );            )    // m's immediate element type is incomplete
+    void fm5x( int, int, int[*][*] );                    // alt syntax for fm1 decl
+    void fm5y( int r, int c, int m[r][c] ) { (void) r; (void) c; (void) m; }            // alt syntax for fm1 defn
 
 
 
 int main() {
-    #pragma GCC warning "Preprocessor started"          // force non-empty .expect file, NO TABS!!!
+    printf("done\n");
 }
 
Index: tests/attr-priority.cfa
===================================================================
--- tests/attr-priority.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/attr-priority.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,4 +1,4 @@
-// Although we are testing the attribute priority checks, we also have a
-// resolver error to force the expect to compare against the compiler output.
+// Is compiled -fsyntax-only, to make the test's "output" be the warnings from cfa-cpp.
+
 
 int * store = 0p;
@@ -6,5 +6,5 @@
 __attribute__(( constructor(150) ))
 void ctor_store(void) {
-	store = malloc();
+	store = (int*)malloc(200);
 }
 
@@ -14,6 +14,2 @@
 	store = 0;
 }
-
-int main(void) {
-	return 0;
-}
Index: tests/builtins/.expect/sync.txt
===================================================================
--- tests/builtins/.expect/sync.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/builtins/.expect/sync.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-builtins/sync.cfa:356:25: warning: Compiled
+done
Index: tests/builtins/sync.cfa
===================================================================
--- tests/builtins/sync.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/builtins/sync.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -354,4 +354,4 @@
 
 int main() {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
Index: tests/cast.cfa
===================================================================
--- tests/cast.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/cast.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -4,5 +4,5 @@
 void f() {
 	char f;
-	double f;
+	double f __attribute__((unused));
 	(int)f;
 	short f;
@@ -13,5 +13,5 @@
 
 //Dummy main
-int main( int argc, char const * argv[] ) {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+int main() {
+    printf("done\n");
 }
Index: tests/castReturn.cfa
===================================================================
--- tests/castReturn.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/castReturn.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,13 @@
+// Simple example use of the return/annotation cast.
+
+#include <limits.hfa>
+
+int main() {
+	unsigned int max0 = (return int)MAX;
+	signed int max1 = MAX;
+	if (max0 == max1) {
+		printf("match\n");
+	} else {
+		printf("error (%u vs %d)\n", max0, max1);
+	}
+}
Index: tests/concurrency/channels/ping_pong.cfa
===================================================================
--- tests/concurrency/channels/ping_pong.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/channels/ping_pong.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -16,5 +16,5 @@
 
 thread Pong {};
-void main(Pong & this) {
+void main(Pong &) {
     try {
         for ( ;; ) {
@@ -27,5 +27,5 @@
 
 thread Ping {};
-void main(Ping & this) {
+void main(Ping &) {
     try {
         for ( ;; ) {
@@ -39,5 +39,5 @@
 
 
-int main( int argc, char * argv[] ) {
+int main() {
     sout | "start";
     processor proc[1];
Index: tests/concurrency/cluster.cfa
===================================================================
--- tests/concurrency/cluster.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/cluster.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -9,5 +9,5 @@
 }
 
-void main( MyThread & this ) {
+void main( MyThread & ) {
 	for(50) {
 		yield();
Index: tests/concurrency/coroutineYield.cfa
===================================================================
--- tests/concurrency/coroutineYield.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/coroutineYield.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -24,5 +24,5 @@
 coroutine Coroutine {};
 
-void main(Coroutine& this) {
+void main( Coroutine & ) {
 	while(true) {
 		#if !defined(TEST_FOREVER)
@@ -39,5 +39,5 @@
 
 Coroutine c;
-int main(int argc, char* argv[]) {
+int main() {
 	for(int i = 0; TEST(i < N); i++) {
 		#if !defined(TEST_FOREVER)
Index: tests/concurrency/examples/boundedBufferEXT.cfa
===================================================================
--- tests/concurrency/examples/boundedBufferEXT.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/examples/boundedBufferEXT.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -94,5 +94,4 @@
 	Buffer(int) buffer;
 	int sums[Cons];
-	int i;
 	processor p;
 
Index: tests/concurrency/examples/boundedBufferINT.cfa
===================================================================
--- tests/concurrency/examples/boundedBufferINT.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/examples/boundedBufferINT.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -94,5 +94,4 @@
 	Consumer * cons[Cons];
 	int sums[Cons];
-	int i;
 	processor p;
 
Index: tests/concurrency/futures/wait_any.cfa
===================================================================
--- tests/concurrency/futures/wait_any.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/futures/wait_any.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -32,5 +32,5 @@
 
 thread Waiter {};
-void main( Waiter & this ) {
+void main( Waiter & ) {
     for (numtimes) {
         wait_any(futures, num_futures);
@@ -42,5 +42,5 @@
 
 thread Deliverer {};
-void main( Deliverer & this ) {
+void main( Deliverer & ) {
     while (!done) {
         size_t num_satisfy = random(1,num_futures);
Index: tests/concurrency/join.cfa
===================================================================
--- tests/concurrency/join.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/join.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -28,5 +28,5 @@
 
 
-int main(int argc, char* argv[]) {
+int main() {
 	{
 		Worker workers[17];
Index: tests/concurrency/migrate.cfa
===================================================================
--- tests/concurrency/migrate.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/migrate.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -47,6 +47,4 @@
 	}
 
-	struct cluster_wrapper * curr = (struct cluster_wrapper *)&the_clusters[0];
-
 	for(100) {
 		unsigned idx = prng( this, cluster_cnt );
Index: tests/concurrency/monitor.cfa
===================================================================
--- tests/concurrency/monitor.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/monitor.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -28,5 +28,5 @@
 thread MyThread {};
 
-void main( MyThread & this ) {
+void main( MyThread & ) {
 	for(int i = 0; i < 750_000; i++) {
 		increment( global );
@@ -34,5 +34,5 @@
 }
 
-int main(int argc, char* argv[]) {
+int main() {
 	assert( global.__mon.entry_queue.tail != NULL );
 	processor p;
Index: tests/concurrency/multi-monitor.cfa
===================================================================
--- tests/concurrency/multi-monitor.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/multi-monitor.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -44,5 +44,5 @@
 }
 
-int main(int argc, char* argv[]) {
+int main() {
 	processor p;
 	{
Index: tests/concurrency/mutexstmt/locks.cfa
===================================================================
--- tests/concurrency/mutexstmt/locks.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/mutexstmt/locks.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -12,5 +12,5 @@
 int count = 0;
 
-void main( T_Mutex & this ) {
+void main( T_Mutex & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		mutex ( m1 ) count++;
@@ -35,5 +35,5 @@
 thread T_Multi {};
 
-void main( T_Multi & this ) {
+void main( T_Multi & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		refTest( m1 );
@@ -81,5 +81,5 @@
 thread T_Multi_Poly {};
 
-void main( T_Multi_Poly & this ) {
+void main( T_Multi_Poly & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		refTest( l1 );
Index: tests/concurrency/mutexstmt/monitors.cfa
===================================================================
--- tests/concurrency/mutexstmt/monitors.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/mutexstmt/monitors.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -16,5 +16,5 @@
 bool startFlag = false;
 
-void main( T_Mutex & this ) {
+void main( T_Mutex & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		mutex ( m1 ) count++;
@@ -30,5 +30,5 @@
 thread T_Multi {};
 
-void main( T_Multi & this ) {
+void main( T_Multi & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		mutex ( m1 ) {
Index: tests/concurrency/preempt.cfa
===================================================================
--- tests/concurrency/preempt.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/preempt.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -71,5 +71,5 @@
 }
 
-int main(int argc, char* argv[]) {
+int main() {
 	processor p;
 	globals.counter = 0;
Index: tests/concurrency/pthread/pthread_cond_test.cfa
===================================================================
--- tests/concurrency/pthread/pthread_cond_test.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/pthread/pthread_cond_test.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -9,6 +9,6 @@
 pthread_cond_t cond;
 
-extern "C"{
-    void* S1(void* arg){
+extern "C" {
+    void* S1( void * ) {
         pthread_mutex_lock(&_mutex);
         for (int i = 0; i < 1000; i++) sout | "S1 done " | i;
@@ -19,5 +19,5 @@
     }
 
-    void* S2(void* arg){
+    void* S2( void * ) {
         pthread_mutex_lock(&_mutex);
         if (!done_flag) pthread_cond_wait(&cond, &_mutex);
@@ -30,7 +30,5 @@
 
 
-int main(int argc, char const *argv[])
-{
-    /* code */
+int main() {
     pthread_mutex_init(&_mutex, NULL);
     pthread_cond_init(&cond, NULL);
Index: tests/concurrency/pthread/pthread_once_test.cfa
===================================================================
--- tests/concurrency/pthread/pthread_once_test.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/pthread/pthread_once_test.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -90,5 +90,5 @@
 
 
-int main(int argc, char const *argv[])
+int main()
 {
     test();
Index: tests/concurrency/readyQ/leader_spin.cfa
===================================================================
--- tests/concurrency/readyQ/leader_spin.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/readyQ/leader_spin.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -97,5 +97,5 @@
 
 // ==================================================
-int main(int argc, char * argv[]) {
+int main() {
 	lead_idx = 0;
 	leader = prng( lead_rng, nthreads );
Index: tests/concurrency/signal/block.cfa
===================================================================
--- tests/concurrency/signal/block.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/signal/block.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -51,5 +51,5 @@
 
 //------------------------------------------------------------------------------
-void wait_op( global_data_t & mutex a, global_data_t & mutex b, unsigned i ) {
+void wait_op( global_data_t & mutex a, global_data_t & mutex b, unsigned ) {
     wait( cond, (uintptr_t)active_thread() );
 
@@ -67,5 +67,5 @@
 
 thread Waiter {};
-void main( Waiter & this ) {
+void main( Waiter & ) {
 	for( int i = 0; TEST(i < N); i++ ) {
 		wait_op( globalA, globalB, i );
@@ -100,5 +100,5 @@
 
 thread Signaller {};
-void main( Signaller & this ) {
+void main( Signaller & ) {
 	while( !done ) {
 		signal_op( globalA, globalB );
@@ -112,5 +112,5 @@
 
 thread Barger {};
-void main( Barger & this ) {
+void main( Barger & ) {
 	for( unsigned i = 0; !done; i++ ) {
 		//Choose some monitor to barge into with some irregular pattern
@@ -123,5 +123,5 @@
 //------------------------------------------------------------------------------
 
-int main(int argc, char* argv[]) {
+int main() {
 	srandom( time( NULL ) );
 	done = false;
Index: tests/concurrency/signal/disjoint.cfa
===================================================================
--- tests/concurrency/signal/disjoint.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/signal/disjoint.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -65,5 +65,5 @@
 }
 
-void main( Barger & this ) {
+void main( Barger & ) {
 	while( !all_done ) {
 		barge( globals.data );
@@ -93,5 +93,5 @@
 }
 
-void main( Waiter & this ) {
+void main( Waiter & ) {
 	while( wait( globals.mut, globals.data ) ) { KICK_WATCHDOG; yield(); }
 }
@@ -122,5 +122,5 @@
 }
 
-void main( Signaller & this ) {
+void main( Signaller & ) {
 	while( !all_done ) {
 		logic( globals.mut );
@@ -131,5 +131,5 @@
 //------------------------------------------------------------------------------
 // Main loop
-int main(int argc, char* argv[]) {
+int main() {
 	srandom( time( NULL ) );
 	all_done = false;
Index: tests/concurrency/signal/wait.cfa
===================================================================
--- tests/concurrency/signal/wait.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/signal/wait.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -65,5 +65,5 @@
 //----------------------------------------------------------------------------------------------------
 // Signaler
-void main( Signaler & this ) {
+void main( Signaler & ) {
 
 	while( waiter_left != 0 ) {
@@ -92,5 +92,5 @@
 //----------------------------------------------------------------------------------------------------
 // Waiter ABC
-void main( WaiterABC & this ) {
+void main( WaiterABC & ) {
 	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condABC, globalA, globalB, globalC );
@@ -103,5 +103,5 @@
 //----------------------------------------------------------------------------------------------------
 // Waiter AB
-void main( WaiterAB & this ) {
+void main( WaiterAB & ) {
 	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condAB , globalA, globalB );
@@ -114,5 +114,5 @@
 //----------------------------------------------------------------------------------------------------
 // Waiter AC
-void main( WaiterAC & this ) {
+void main( WaiterAC & ) {
 	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condAC , globalA, globalC );
@@ -125,5 +125,5 @@
 //----------------------------------------------------------------------------------------------------
 // Waiter BC
-void main( WaiterBC & this ) {
+void main( WaiterBC & ) {
 	for( int i = 0; TEST(i < N); i++ ) {
 		wait( condBC , globalB, globalC );
@@ -136,5 +136,5 @@
 //----------------------------------------------------------------------------------------------------
 // Main
-int main(int argc, char* argv[]) {
+int main() {
 	srandom( time( NULL ) );
 	waiter_left = 4;
Index: tests/concurrency/suspend_then.cfa
===================================================================
--- tests/concurrency/suspend_then.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/suspend_then.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -64,5 +64,5 @@
 
 thread Thread {};
-void main(Thread & this) {
+void main( Thread & ) {
 	Coroutine * mine = 0p;
 	while(!done) {
@@ -78,5 +78,5 @@
 
 
-int main(int argc, char* argv[]) {
+int main() {
 	processor p[2];
 	Coroutine c;
Index: tests/concurrency/thread.cfa
===================================================================
--- tests/concurrency/thread.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/thread.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -28,5 +28,5 @@
 
 
-int main(int argc, char* argv[]) {
+int main() {
 	semaphore lock = { 0 };
 	sout | "User main begin";
Index: tests/concurrency/unified_locking/locks.cfa
===================================================================
--- tests/concurrency/unified_locking/locks.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/unified_locking/locks.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -23,5 +23,5 @@
 thread T_C_M_WS1 {};
 
-void main( T_C_M_WS1 & this ) {
+void main( T_C_M_WS1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(m);
@@ -37,5 +37,5 @@
 thread T_C_M_WB1 {};
 
-void main( T_C_M_WB1 & this ) {
+void main( T_C_M_WB1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(m);
@@ -51,5 +51,5 @@
 thread T_C_S_WS1 {};
 
-void main( T_C_S_WS1 & this ) {
+void main( T_C_S_WS1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(s);
@@ -65,5 +65,5 @@
 thread T_C_S_WB1 {};
 
-void main( T_C_S_WB1 & this ) {
+void main( T_C_S_WB1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(s);
@@ -79,5 +79,5 @@
 thread T_C_L_WS1 {};
 
-void main( T_C_L_WS1 & this ) {
+void main( T_C_L_WS1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -93,5 +93,5 @@
 thread T_C_L_WB1 {};
 
-void main( T_C_L_WB1 & this ) {
+void main( T_C_L_WB1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -107,5 +107,5 @@
 thread T_F_C_F_WS1 {};
 
-void main( T_F_C_F_WS1 & this ) {
+void main( T_F_C_F_WS1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(f);
@@ -121,5 +121,5 @@
 thread T_C_O_WS1 {};
 
-void main( T_C_O_WS1 & this ) {
+void main( T_C_O_WS1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(o);
@@ -135,5 +135,5 @@
 thread T_C_O_WB1 {};
 
-void main( T_C_O_WB1 & this ) {
+void main( T_C_O_WB1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(o);
@@ -149,5 +149,5 @@
 thread T_C_M_WS2 {};
 
-void main( T_C_M_WS2 & this ) {
+void main( T_C_M_WS2 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(m);
@@ -167,5 +167,5 @@
 thread T_C_O_WS2 {};
 
-void main( T_C_O_WS2 & this ) {
+void main( T_C_O_WS2 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(o);
@@ -185,5 +185,5 @@
 thread T_C_NLW {};
 
-void main( T_C_NLW & this ) {
+void main( T_C_NLW & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		wait(c_o);
@@ -193,5 +193,5 @@
 thread T_C_NLS {};
 
-void main( T_C_NLS & this ) {
+void main( T_C_NLS & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		while (empty(c_o)) { }
@@ -202,5 +202,5 @@
 thread T_C_S_WNF {};
 
-void main( T_C_S_WNF & this ) {
+void main( T_C_S_WNF & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(s);
@@ -219,5 +219,5 @@
 thread T_C_NLWD {};
 
-void main( T_C_NLWD & this ) {
+void main( T_C_NLWD & ) {
 	done = false;
 	for (unsigned int i = 0; i < num_times/5; i++) {
@@ -230,5 +230,5 @@
 thread T_C_WDS {};
 
-void main( T_C_WDS & this ) {
+void main( T_C_WDS & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		while (empty(c_s) && !done) { }
@@ -241,5 +241,5 @@
 thread T_C_LWD {};
 
-void main( T_C_LWD & this ) {
+void main( T_C_LWD & ) {
 	done = false;
 	for (unsigned int i = 0; i < num_times/5; i++) {
@@ -254,5 +254,5 @@
 thread T_C_LWDS {};
 
-void main( T_C_LWDS & this ) {
+void main( T_C_LWDS & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		while (empty(c_s) && !done) { }
Index: tests/concurrency/unified_locking/pthread_locks.cfa
===================================================================
--- tests/concurrency/unified_locking/pthread_locks.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/unified_locking/pthread_locks.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -18,5 +18,5 @@
 thread Wait_Signal_1 {};
 
-void main( Wait_Signal_1 & this ) {
+void main( Wait_Signal_1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -32,5 +32,5 @@
 thread Wait_3_Signal_3 {};
 
-void main( Wait_3_Signal_3 & this ) {
+void main( Wait_3_Signal_3 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -48,5 +48,5 @@
 thread Rec_Lock_Wait_Signal_1 {};
 
-void main( Rec_Lock_Wait_Signal_1 & this ) {
+void main( Rec_Lock_Wait_Signal_1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -66,5 +66,5 @@
 thread Wait_Time_Signal_1 {};
 
-void main( Wait_Time_Signal_1 & this ) {
+void main( Wait_Time_Signal_1 & ) {
 	for (unsigned int i = 0; i < num_times; i++) {
 		lock(l);
@@ -74,4 +74,5 @@
 			timespec waitTime{0,1};
 			bool woken = wait(c,l, t + waitTime);
+			(void) woken;
 		}else{
 			notify_one(c);
Index: tests/concurrency/waitfor/.expect/parse.txt
===================================================================
--- tests/concurrency/waitfor/.expect/parse.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waitfor/.expect/parse.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-concurrency/waitfor/parse.cfa:255:25: warning: Compiled
+done
Index: tests/concurrency/waitfor/barge.cfa
===================================================================
--- tests/concurrency/waitfor/barge.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waitfor/barge.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -30,5 +30,5 @@
 }
 
-void ^?{} ( global_t & mutex this ) {}
+void ^?{} ( global_t & mutex ) {}
 
 global_t global;
@@ -40,5 +40,5 @@
 
 thread barger_t {};
-void main( barger_t & this ) {
+void main( barger_t & ) {
 	yield();
 	while( barge( global ) ) { yield(random( 10 )); }
@@ -56,5 +56,5 @@
 
 thread caller_t {};
-void main( caller_t & this ) {
+void main( caller_t & ) {
 	while( do_call(global) ) { yield(random( 10 )); }
 }
@@ -78,5 +78,5 @@
 
 thread waiter_t{};
-void main( waiter_t & this ) {
+void main( waiter_t & ) {
 	do_wait(global);
 }
Index: tests/concurrency/waitfor/parse.cfa
===================================================================
--- tests/concurrency/waitfor/parse.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waitfor/parse.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -252,6 +252,6 @@
 
 //Dummy main
-int main( int argc, char const * argv[] ) {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+int main() {
+	printf("done\n");
 }
 
Index: tests/concurrency/waitfor/statment.cfa
===================================================================
--- tests/concurrency/waitfor/statment.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waitfor/statment.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -89,5 +89,5 @@
 }
 
-void main( caller & this ) {
+void main( caller & ) {
 	int index = get_index( m );
 	while( !start ) yield();
@@ -122,5 +122,5 @@
 thread waiter{};
 
-void main( waiter & this ) {
+void main( waiter & ) {
 	do_wait( m );
 }
Index: tests/concurrency/waitfor/when.cfa
===================================================================
--- tests/concurrency/waitfor/when.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waitfor/when.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -39,5 +39,5 @@
 
 thread caller_t{};
-void main( caller_t & this ) {
+void main( caller_t & ) {
 	while( true ) {
 		rand_yield();
@@ -76,5 +76,5 @@
 
 thread arbiter_t{};
-void main( arbiter_t & this ) {
+void main( arbiter_t & ) {
 	arbiter( global );
 }
Index: tests/concurrency/waituntil/channel_zero_size.cfa
===================================================================
--- tests/concurrency/waituntil/channel_zero_size.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waituntil/channel_zero_size.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -9,5 +9,5 @@
 
 thread Server1 {};
-void main( Server1 & this ) {
+void main( Server1 & ) {
     long long int a, b, c, i = 0, myTotal = 0;
     for( ;;i++ ) {
Index: tests/concurrency/waituntil/one_chan.cfa
===================================================================
--- tests/concurrency/waituntil/one_chan.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/concurrency/waituntil/one_chan.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -9,5 +9,5 @@
 
 thread Server1 {};
-void main( Server1 & this ) {
+void main( Server1 & ) {
     long long int c, i = 0, myTotal = 0;
     for( ;;i++ ) {
Index: tests/configs/parsebools.cfa
===================================================================
--- tests/configs/parsebools.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/configs/parsebools.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -22,5 +22,6 @@
 
 int main( int argc, char * argv[] ) {
-	check_main(argv[0]);
+	if ( argc == 0 ) abort( "Test requires a command-line argument" );
+	check_main( argv[0] );
 
 	bool YN = false;
Index: tests/configs/parsenums.cfa
===================================================================
--- tests/configs/parsenums.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/configs/parsenums.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -35,5 +35,6 @@
 
 int main( int argc, char * argv[]) {
-	check_main( argv[0]);
+	if ( argc == 0 ) abort( "Test requires a command-line argument" );
+	check_main( argv[0] );
 
 	int i = -3;
Index: tests/const-ref.cfa
===================================================================
--- tests/const-ref.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/const-ref.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,9 @@
+// A const reference binding should not work without warning.
+int intref(int const & x) {
+	return x;
+}
+
+int main() {
+	printf("done\n");
+	return intref(0);
+}
Index: tests/coroutine/raii.cfa
===================================================================
--- tests/coroutine/raii.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/coroutine/raii.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -32,9 +32,9 @@
 coroutine Cor {};
 
-void ?{}( Cor & this ) {
+void ?{}( Cor & ) {
 	sout | "Coroutine Ctor";
 }
 
-void main( Cor & this ) {
+void main( Cor & ) {
 	Raii raii = { "Coroutine" };
 	sout | "Before Suspend";
@@ -43,5 +43,5 @@
 }
 
-void ^?{}( Cor & this ) {
+void ^?{}( Cor & ) {
 	sout | "Coroutine Dtor";
 }
Index: tests/ctrl-flow/.expect/labelledExit.txt
===================================================================
--- tests/ctrl-flow/.expect/labelledExit.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/ctrl-flow/.expect/labelledExit.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-ctrl-flow/labelledExit.cfa:181:25: warning: Compiled
+done
Index: tests/ctrl-flow/goto.cfa
===================================================================
--- tests/ctrl-flow/goto.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/ctrl-flow/goto.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -16,5 +16,5 @@
 }
 
-int main(int argc, char * argv[]) {
+int main() {
 	sout | nlOff;
 
Index: tests/ctrl-flow/ifwhileCtl.cfa
===================================================================
--- tests/ctrl-flow/ifwhileCtl.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/ctrl-flow/ifwhileCtl.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -19,5 +19,5 @@
 
 int main( void ) {
-	int x = 4, y = 3;
+	int x = 4, y = 3;		(void) x; (void) y;
 
 	if ( int x = 1 ) {
@@ -42,8 +42,8 @@
 
 	if ( struct S { int i; } s = { 3 }; s.i < 4 ) {
-		S s1;
+		S s1;	(void) s1;
 		sout | "s.i < 4 correct";
 	} else {
-		S s1;
+		S s1;	(void) s1;
 		sout | "s.i >= 4 incorrect";
 	} // if
@@ -64,5 +64,5 @@
 
 	while ( struct S { int i; } s = { 3 }; s.i < 4 ) {
-		S s1;
+		S s1;	(void) s1;
 		sout | "s.i < 4 correct";
 		break;
Index: tests/ctrl-flow/labelledExit.cfa
===================================================================
--- tests/ctrl-flow/labelledExit.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/ctrl-flow/labelledExit.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -179,5 +179,5 @@
 
 int main( int argc, char const *argv[] ) {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
 
Index: tests/enum.cfa
===================================================================
--- tests/enum.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/enum.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -19,7 +19,7 @@
 		Pear,
 		Mango
-	} fruit = Mango;
-	enum Fruits f1;
-	Fruits f2;
+	} fruit = Mango;	(void) fruit;
+	enum Fruits f1;		(void) f1;
+	Fruits f2;			(void) f2;
 }
 
@@ -41,5 +41,5 @@
 
 //Dummy main
-int main(int argc, char const *argv[]) {
+int main() {
 	printf( "done\n" );				// non-empty .expect file
 }
Index: tests/enum_tests/inc-dec.cfa
===================================================================
--- tests/enum_tests/inc-dec.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/enum_tests/inc-dec.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -4,5 +4,5 @@
 enum() Number { One, Two, Three };
 
-int main(int argc, char * argv[]) {
+int main() {
 	Number a = One;
 
Index: tests/enum_tests/planet.cfa
===================================================================
--- tests/enum_tests/planet.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/enum_tests/planet.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -28,5 +28,5 @@
 }
 
-int main( int argc, char * argv[] ) {
+int main() {
 //	if ( argc != 2 ) exit | "Usage: " | argv[0] | "earth-weight"; // terminate program
 //	double earthWeight = convert( argv[1] );
Index: tests/enum_tests/structEnum.cfa
===================================================================
--- tests/enum_tests/structEnum.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/enum_tests/structEnum.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -26,6 +26,6 @@
 
 int main() {
-     PointEnum vals = second;
-     PointEnum val2;
+     PointEnum vals = second;      (void) vals;
+     PointEnum val2;               (void) val2;
      // The failing line: assignment
      // val2 = vals;
Index: tests/exceptions/.expect/message.txt
===================================================================
--- tests/exceptions/.expect/message.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/exceptions/.expect/message.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,2 @@
+Out of Range Index 10 (expected less than 8)
+5
Index: tests/exceptions/hotpotato.cfa
===================================================================
--- tests/exceptions/hotpotato.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/exceptions/hotpotato.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -129,5 +129,4 @@
 	intmax_t seed = 42;									// random-number seed
 	bool playersSet = false;
-	char * nosummary = getenv( "NOSUMMARY" );			// print extra output
 
 	try {
Index: tests/exceptions/hotpotato_checked.cfa
===================================================================
--- tests/exceptions/hotpotato_checked.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/exceptions/hotpotato_checked.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -150,5 +150,4 @@
 	intmax_t seed = 42;									// random-number seed
 	bool playersSet = false;
-	char * nosummary = getenv( "NOSUMMARY" );			// print extra output
 
 	try {
Index: tests/exceptions/message.cfa
===================================================================
--- tests/exceptions/message.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/exceptions/message.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,86 @@
+// Use of the exception system where we provide our own functions.
+
+#include <stdio.h>
+#include <string.h>
+// Using collections/string.hfa leads to a resolution error on snprintf.
+
+exception BadIndexException {
+	int value;
+	int size;
+	char * message;
+};
+
+const char * virtual_msg(BadIndexException * this) {
+	return this->virtual_table->msg(this);
+}
+
+// Array length calculated to ususually be big enough.
+const size_t msg_size = 52;
+
+char * format_bad_index(int value, int size) {
+	char * out = (char *)(void *)malloc(msg_size + 1);
+	snprintf(out, msg_size,
+		"Out of Range Index %d (expected less than %d)", value, size);
+	return out;
+}
+
+const char * msg(BadIndexException * this) {
+	if (this->message) {
+		free(this->message);
+	}
+	this->message = format_bad_index(this->value, this->size);
+	return this->message;
+}
+
+void copy(BadIndexException * dst, BadIndexException * src) {
+	// This is an easy detail to miss, you have to copy the table over.
+	dst->virtual_table = src->virtual_table;
+
+	dst->value = src->value;
+	dst->size = src->size;
+	dst->message = (src->message) ? strndup(src->message, msg_size) : 0p;
+}
+
+// Do not construct an exception without a vtable!
+void ?{}(BadIndexException&) = void;
+
+void ?{}(BadIndexException & this,
+		vtable(BadIndexException) & vt, int value, int size) {
+	this.virtual_table = &vt;
+	this.value = value;
+	this.size = size;
+	this.message = 0p;
+}
+
+void ?{}(BadIndexException & this, BadIndexException that) {
+	copy(&this, &that);
+}
+
+void ^?{}(BadIndexException & this) {
+	free(this.message);
+}
+
+vtable(BadIndexException) arrayIndex = {
+	.msg = msg,
+	.copy = copy,
+	.^?{} = ^?{},
+};
+
+// This is not supposed to be a real range check, but that's the idea:
+void failRangeCheck(int index, int size) {
+	throw (BadIndexException){ arrayIndex, index, size };
+}
+
+int atDefault(int fallback) {
+	try {
+		failRangeCheck(10, 8);
+	} catch (BadIndexException * error) {
+		printf("%s\n", virtual_msg(error));
+	}
+	return fallback;
+}
+
+int main() {
+	int value = atDefault(5);
+	printf("%d\n", value);
+}
Index: tests/expression.cfa
===================================================================
--- tests/expression.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/expression.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,9 +1,9 @@
 struct S { int i; };
 void ?{}( S & s, int i ) { s.i = i; }
-int ?`mary( int );
-int ?`mary( S );
-[int] ?`mary( [int, int] );
-int & ?`jane( int & );
-int jack( int );
+int ?`mary( int ) { return 0; }
+int ?`mary( S ) { return 0; }
+[int] ?`mary( [int, int] ) { return 0; }
+int & ?`jane( int & x ) { return x; }
+int jack( int ) { return 0; }
 
 int main() {
@@ -84,4 +84,4 @@
 	(S)@{2}`mary;
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 } // main
Index: tests/identFuncDeclarator.cfa
===================================================================
--- tests/identFuncDeclarator.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/identFuncDeclarator.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -14,103 +14,108 @@
 // 
 
+int f1;
+int (f2);
+
+int * f3;
+int ** f4;
+int * const * f5;
+int * const * const f6;
+
+int * (f7);
+int ** (f8);
+int * const * (f9);
+int * const * const (f10);
+
+int (* f11);
+int (** f12);
+int (* const * f13);
+int (* const * const f14);
+
+int f15[2];
+int f16[10];
+int (f17[2]);
+int (f18[10]);
+
+int * f19[2];
+int * f20[10];
+int ** f21[2];
+int ** f22[10];
+int * const * f23[2];
+int * const * f24[10];
+int * const * const f25[2];
+int * const * const f26[10];
+
+int * (f27[2]);
+int * (f28[10]);
+int ** (f29[2]);
+int ** (f30[10]);
+int * const * (f31[2]);
+int * const * (f32[10]);
+int * const * const (f33[2]);
+int * const * const (f34[10]);
+
+int (* f35[2]);
+int (* f36[10]);
+int (** f37[2]);
+int (** f38[10]);
+int (* const * f39[2]);
+int (* const * f40[10]);
+int (* const * const f41[2]);
+int (* const * const f42[10]);
+
+int f43[2][3];
+int f44[3][3];
+int (f45[2])[3];
+int (f46[3])[3];
+int ((f47[2]))[3];
+int ((f48[3]))[3];
+
+int * f49[2][3];
+int * f50[3][3];
+int ** f51[2][3];
+int ** f52[3][3];
+int * const * f53[2][3];
+int * const * f54[3][3];
+int * const * const f55[2][3];
+int * const * const f56[3][3];
+
+int (* f57[2][3]);
+int (* f58[3][3]);
+int (** f59[2][3]);
+int (** f60[3][3]);
+int (* const * f61[2][3]);
+int (* const * f62[3][3]);
+int (* const * const f63[2][3]);
+int (* const * const f64[3][3]);
+
+int f65(int);
+int (f66)(int);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wignored-qualifiers"
+
+int * f67(int);
+int ** f68(int);
+int * const * f69(int);
+int * const * const f70(int);
+
+int * (f71)(int);
+int ** (f72)(int);
+int * const * (f73)(int);
+int * const * const (f74)(int);
+
+int (* f75)(int);
+int (** f76)(int);
+int (* const * f77)(int);
+int (* const * const f78)(int);
+
+int (* (* f79)(int))();
+int (* (* const f80)(int))();
+int (* const(* const f81)(int))();
+
+#pragma GCC diagnostic pop
+
 int main() {
-	int f1;
-	int (f2);
-
-	int * f3;
-	int ** f4;
-	int * const * f5;
-	int * const * const f6;
-
-	int * (f7);
-	int ** (f8);
-	int * const * (f9);
-	int * const * const (f10);
-
-	int (* f11);
-	int (** f12);
-	int (* const * f13);
-	int (* const * const f14);
-
-	int f15[2];
-	int f16[10];
-	int (f17[2]);
-	int (f18[10]);
-
-	int * f19[2];
-	int * f20[10];
-	int ** f21[2];
-	int ** f22[10];
-	int * const * f23[2];
-	int * const * f24[10];
-	int * const * const f25[2];
-	int * const * const f26[10];
-
-	int * (f27[2]);
-	int * (f28[10]);
-	int ** (f29[2]);
-	int ** (f30[10]);
-	int * const * (f31[2]);
-	int * const * (f32[10]);
-	int * const * const (f33[2]);
-	int * const * const (f34[10]);
-
-	int (* f35[2]);
-	int (* f36[10]);
-	int (** f37[2]);
-	int (** f38[10]);
-	int (* const * f39[2]);
-	int (* const * f40[10]);
-	int (* const * const f41[2]);
-	int (* const * const f42[10]);
-
-	int f43[2][3];
-	int f44[3][3];
-	int (f45[2])[3];
-	int (f46[3])[3];
-	int ((f47[2]))[3];
-	int ((f48[3]))[3];
-
-	int * f49[2][3];
-	int * f50[3][3];
-	int ** f51[2][3];
-	int ** f52[3][3];
-	int * const * f53[2][3];
-	int * const * f54[3][3];
-	int * const * const f55[2][3];
-	int * const * const f56[3][3];
-
-	int (* f57[2][3]);
-	int (* f58[3][3]);
-	int (** f59[2][3]);
-	int (** f60[3][3]);
-	int (* const * f61[2][3]);
-	int (* const * f62[3][3]);
-	int (* const * const f63[2][3]);
-	int (* const * const f64[3][3]);
-
-	int f65(int);
-	int (f66)(int);
-
-	int * f67(int);
-	int ** f68(int);
-	int * const * f69(int);
-	int * const * const f70(int);
-
-	int * (f71)(int);
-	int ** (f72)(int);
-	int * const * (f73)(int);
-	int * const * const (f74)(int);
-
-	int (* f75)(int);
-	int (** f76)(int);
-	int (* const * f77)(int);
-	int (* const * const f78)(int);
-
-	int (* (* f79)(int))();
-	int (* (* const f80)(int))();
-	int (* const(* const f81)(int))();
-
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
 
Index: tests/include/.expect/includes.txt
===================================================================
--- tests/include/.expect/includes.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/include/.expect/includes.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-include/includes.cfa:173:25: warning: Compiled
+done
Index: tests/include/.expect/stdincludes.txt
===================================================================
--- tests/include/.expect/stdincludes.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/include/.expect/stdincludes.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,1 +1,1 @@
-include/stdincludes.cfa:50:25: warning: Compiled
+done
Index: tests/include/includes.cfa
===================================================================
--- tests/include/includes.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/include/includes.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -171,5 +171,5 @@
 
 int main() {
-    #pragma GCC warning "Compiled"							// force non-empty .expect file, NO TABS!!!
+    printf("done\n");
 }
 
Index: tests/include/stdincludes.cfa
===================================================================
--- tests/include/stdincludes.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/include/stdincludes.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -48,5 +48,5 @@
 
 int main() {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+    printf("done\n");
 }
 
Index: tests/init1.cfa
===================================================================
--- tests/init1.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/init1.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -32,12 +32,12 @@
     //
 
-    char * str1 = "hi";
-    const char * str2 = "hi";
+    char * str1 = "hi";             (void) str1;
+    const char * str2 = "hi";       (void) str2;
 
-    float & rx2 = rx;
-    float * px2 = px;
+    float & rx2 = rx;               (void) rx2;
+    float * px2 = px;               (void) px2;
 
-    const float & crx2 = crx;
-    const float * cpx2 = cpx;
+    const float & crx2 = crx;       (void) crx2;
+    const float * cpx2 = cpx;       (void) cpx2;
 
     // FIX ME: Code gen not producing correct cast.
@@ -132,4 +132,4 @@
 
 int main() {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+    printf("done\n");
 }
Index: tests/io/io-acquire-no-io.cfa
===================================================================
--- tests/io/io-acquire-no-io.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/io/io-acquire-no-io.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -55,5 +55,4 @@
 	// above output used as input to parallel threads 
 
-	int a, b, c, d, e, f, g, h, i;
 	for ( 100 ) {										// expression protection
 		mutex(sinLock) doWork();
Index: tests/limits.cfa
===================================================================
--- tests/limits.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/limits.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -149,6 +149,6 @@
 long double _Complex _1_sqrt_2 = _1_SQRT_2;
 
-int main(int argc, char const *argv[]) {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+int main() {
+	printf("done\n");
 }
 
Index: tests/link-once/main.cfa
===================================================================
--- tests/link-once/main.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/link-once/main.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -9,5 +9,5 @@
 }
 
-int main(int argc, char * argv[]) {
+int main() {
 	printformat(example, example);
 }
Index: tests/linking/mangling/main.cfa
===================================================================
--- tests/linking/mangling/main.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/linking/mangling/main.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -12,4 +12,6 @@
 	a_typedefed_global.a_float = 9.0f;
 
+	(void) test;
+
 	sout | "Done!";
 }
Index: tests/malloc.cfa
===================================================================
--- tests/malloc.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/malloc.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -51,5 +51,4 @@
 	size_t elemSize = sizeof(int);
 	size_t size = dim * elemSize;
-	char fill = '\xde';
 	int * ip;
 	T1 * tp;
Index: tests/mathX.cfa
===================================================================
--- tests/mathX.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/mathX.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -29,8 +29,4 @@
 	unsigned long long int ulli, ullir1, ullir2, ullir3;
 
-	float f;
-	double d;
-	long double l;
-
 	//---------------------- Nearest Integer ----------------------
 
Index: tests/maybe.cfa
===================================================================
--- tests/maybe.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/maybe.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -60,5 +60,5 @@
 }
 
-int main(int argc, char * argv[]) {
+int main() {
 	checkPredicates();
 	checkGetter();
Index: tests/nested-types.cfa
===================================================================
--- tests/nested-types.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/nested-types.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -64,4 +64,6 @@
 // S.T t;
 
+#pragma GCC diagnostic ignored "-Wunused-variable"
+
 int main() {
 	// access nested struct
@@ -93,10 +95,10 @@
 
 	S.Bar y;
-	S.Baz x;
+	S.Baz w;
 	S.T.Bar z;
 
 	// A.N(int) x;  // xxx - should not be an error, but currently is.
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
 
Index: tests/nowarn/.expect/printf-sizeof.txt
===================================================================
--- tests/nowarn/.expect/printf-sizeof.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/nowarn/.expect/printf-sizeof.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,3 @@
+1
+1
+10
Index: tests/nowarn/printf-sizeof.cfa
===================================================================
--- tests/nowarn/printf-sizeof.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
+++ tests/nowarn/printf-sizeof.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -0,0 +1,31 @@
+// From fixed Trac #269
+
+forall( T )
+void fred( T x ) {
+    printf( "%zu\n", sizeof(T) );
+    printf( "%zu\n", sizeof(x) );
+    (void) x;  // FIX ME: work around Trac #300
+}
+
+#include <array.hfa>
+forall( [N] )
+void mary( array(char, N) & ) {
+    printf( "%zu\n", N );    
+  #if defined TRY_TRAC_269_REMAINDER
+	for ( i; N ) {
+        if (i > 0) printf(" ");
+        printf( "%zu", i); // FIX ME: i still getting type long unsigned int on -m32
+	}
+    printf("\n");
+  #endif
+}
+
+int main() {
+    char c = 'x';
+    fred(c);
+
+    array( char, 10 ) a;
+    mary(a);
+
+    return 0;
+}
Index: tests/nowarn/unused.cfa
===================================================================
--- tests/nowarn/unused.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/nowarn/unused.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -12,4 +12,10 @@
 struct my_array {
     float strides[N];
+};
+
+// layoutof curious_size_dep doesn't need sizeof T
+forall(T *)
+struct curious_size_dep {
+    int x;
 };
 
Index: tests/nowarn/zero-thunk.cfa
===================================================================
--- tests/nowarn/zero-thunk.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/nowarn/zero-thunk.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -6,5 +6,5 @@
 forall( T )
 T g( zero_t ) {
-    printf( "%ld\n", sizeof(T) );
+    printf( "%zd\n", sizeof(T) );
     return (T){};
 }
Index: tests/numericConstants.cfa
===================================================================
--- tests/numericConstants.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/numericConstants.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -64,5 +64,5 @@
 	0x_1.ffff_ffff_p_128_l;
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 } // main
 
Index: tests/poly-d-cycle.cfa
===================================================================
--- tests/poly-d-cycle.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/poly-d-cycle.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -20,5 +20,5 @@
 func_table(int) an_instance = { func };
 
-int main(int argc, char * argv[]) {
+int main() {
 	object(int) x = { 0p };
 	an_instance.object_func( &x );
Index: tests/poly-member.cfa
===================================================================
--- tests/poly-member.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/poly-member.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -15,4 +15,5 @@
 		MonoCell thing1;
 		Proxy(int) & thing2 = thing1.data;
+		(void) thing2;
 	}
 
@@ -20,4 +21,5 @@
 		PolyCell(int) thing1;
 		Proxy(int) & thing2 = thing1.data;
+		(void) thing2;
 	}
 
Index: tests/poly-o-cycle.cfa
===================================================================
--- tests/poly-o-cycle.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/poly-o-cycle.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -20,5 +20,5 @@
 func_table(int) an_instance = { func };
 
-int main(int argc, char * argv[]) {
+int main() {
 	object(int) x = { 0p };
 	an_instance.object_func( &x );
Index: tests/quasiKeyword.cfa
===================================================================
--- tests/quasiKeyword.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/quasiKeyword.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -13,12 +13,13 @@
 
 exception E {};
+vtable(E) E_vt;
 
-void catch( int i ) {}
-void recover( int i ) {}
-void catchResume( int i ) {}
-void fixup( int i ) {}
-void finally( int i ) {}
+void catch( int i )       { (void) i; }
+void recover( int i )     { (void) i; }
+void catchResume( int i ) { (void) i; }
+void fixup( int i )       { (void) i; }
+void finally( int i )     { (void) i; }
 
-int main(int argc, char const *argv[]) {
+int main() {
 	int catch, recover, catchResume, fixup, finally;
 	try {
@@ -33,7 +34,7 @@
 		finally = 3;
 		finally( finally );
-		throw (E){};
-		report (E){};
-		throwResume (E){};
+		throw (E){ & E_vt };
+		report (E){ & E_vt };
+		throwResume (E){ & E_vt };
 	} catch ( E * ) {
 	} recover ( E * ) {									// same as catch
@@ -50,4 +51,4 @@
 	else catch = 3;
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
Index: tests/quotedKeyword.cfa
===================================================================
--- tests/quotedKeyword.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/quotedKeyword.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -15,4 +15,6 @@
 
 #include <fstream.hfa>
+
+#pragma GCC diagnostic ignored "-Wunused-variable"
 
 static struct {
Index: tests/raii/partial.cfa
===================================================================
--- tests/raii/partial.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/raii/partial.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -12,5 +12,5 @@
     // Declaring your own empty ctor leaves an autogen dtor usable
     struct thing1 {};
-    void ?{}( thing1 & this ) {  printf( "custom ctor\n"); }
+    void ?{}( thing1 & ) {  printf( "custom ctor\n"); }
     void test1() {
         printf("test1\n");
@@ -20,6 +20,6 @@
     // Declaring your own empty ctor and dtor leaves an autogen copy ctor usable
     struct thing2 {};
-    void  ?{}( thing2 & this ) {  printf( "custom ctor\n"); }
-    void ^?{}( thing2 & this ) {  printf( "custom dtor\n"); }
+    void  ?{}( thing2 & ) {  printf( "custom ctor\n"); }
+    void ^?{}( thing2 & ) {  printf( "custom dtor\n"); }
     void test2() {
         printf("test2\n");
@@ -37,8 +37,8 @@
 
     struct thing456 {};
-    void    ?{}( thing456 & this ) {  printf( "custom ctor\n"); }
+    void    ?{}( thing456 & ) {  printf( "custom ctor\n"); }
     void    ?{}( thing456 &, thing456 ) = void;
     thing456 & ?=?( thing456 &, thing456 ) = void;
-    void   ^?{}( thing456 & this ) {  printf( "custom dtor\n"); }
+    void   ^?{}( thing456 & ) {  printf( "custom dtor\n"); }
 
     struct wrapper1 { thing456 x; };
@@ -80,5 +80,5 @@
 // Declaring your own empty ctor leaves an autogen dtor usable
 struct thing1 {};
-void ?{}( thing1 & this ) {  printf( "custom ctor\n"); }
+void ?{}( thing1 & ) {  printf( "custom ctor\n"); }
 void test1() {
     printf("test1\n");
@@ -88,6 +88,6 @@
 // Declaring your own empty ctor and dtor leaves an autogen copy ctor usable
 struct thing2 {};
-void  ?{}( thing2 & this ) {  printf( "custom ctor\n"); }
-void ^?{}( thing2 & this ) {  printf( "custom dtor\n"); }
+void  ?{}( thing2 & ) {  printf( "custom ctor\n"); }
+void ^?{}( thing2 & ) {  printf( "custom dtor\n"); }
 void test2() {
     printf("test2\n");
@@ -105,8 +105,8 @@
 
 struct thing456 {};
-void    ?{}( thing456 & this ) {  printf( "custom ctor\n"); }
+void    ?{}( thing456 & ) {  printf( "custom ctor\n"); }
 void    ?{}( thing456 &, thing456 ) = void;
 thing456 & ?=?( thing456 &, thing456 ) = void;
-void   ^?{}( thing456 & this ) {  printf( "custom dtor\n"); }
+void   ^?{}( thing456 & ) {  printf( "custom dtor\n"); }
 
 struct wrapper1 { thing456 x; };
Index: tests/result.cfa
===================================================================
--- tests/result.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/result.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -61,5 +61,5 @@
 }
 
-int main(int argc, char * argv[]) {
+int main() {
 	checkPredicates();
 	//checkNamedConstructors();
Index: tests/sizeof.cfa
===================================================================
--- tests/sizeof.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/sizeof.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -3,5 +3,5 @@
 #include <fstream.hfa>
 
-int main(int argc, char * argv[]) {
+int main() {
 	char val = 'c';
 	char & ref = val;
@@ -9,3 +9,7 @@
 	sout | "char  : " | sizeof(val) | alignof(val);
 	sout | "char &: " | sizeof(ref) | alignof(ref);
+
+	// FIX ME: work around Trac #300
+	(void) val;
+	(void) ref;
 }
Index: tests/smart-pointers.cfa
===================================================================
--- tests/smart-pointers.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/smart-pointers.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -65,5 +65,5 @@
 }
 
-int main(int argc, char * argv[]) {
+int main() {
 	counter_test();
 	unique_test();
Index: tests/switch.cfa
===================================================================
--- tests/switch.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/switch.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -101,5 +101,5 @@
 	} // choose
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 } // main
 
Index: tests/tuple/tupleAssign.cfa
===================================================================
--- tests/tuple/tupleAssign.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/tuple/tupleAssign.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -48,5 +48,5 @@
 			int z;
 		} x;
-		X ?=?(X & x, double d) { return x; }
+		X ?=?(X & x, double) { return x; }
 		[int, double, int] t;
 
Index: tests/tuple/tuplePolymorphism.cfa
===================================================================
--- tests/tuple/tuplePolymorphism.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/tuple/tuplePolymorphism.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -66,4 +66,5 @@
 forall(T)
 [T, T] foo([T, T] y) {
+	(void) y;
 	[T, T] x;
 	return x;
Index: tests/tuple/tupleVariadic.cfa
===================================================================
--- tests/tuple/tupleVariadic.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/tuple/tupleVariadic.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -98,5 +98,5 @@
 }
 
-forall(T... | { void foo(T); }) void bar(T x) {}
+forall(T... | { void foo(T); }) void bar( T ) {}
 void foo(int) {}
 
@@ -126,5 +126,5 @@
 	{
 		// T = [const int] -- this ensures that void(*)(int) satisfies void(*)(const int)
-		const int x;
+		const int x = 42;
 		bar(x);
 	}
Index: tests/typedefRedef.cfa
===================================================================
--- tests/typedefRedef.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/typedefRedef.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -78,11 +78,11 @@
 #endif
 
-	Foo * x;
+	Foo * x;	(void) x;
 
 	typedef struct Bar Foo;
-	Foo * y;
+	Foo * y;	(void) y;
 
 	typedef int *** pt;
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	printf("done\n");
 }
Index: tests/typeof.cfa
===================================================================
--- tests/typeof.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/typeof.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -10,3 +10,12 @@
 	(typeof(v1)) v2; // cast with typeof
 	printf( "done\n" );				// non-empty .expect file
+
+	// FIX ME: work around Trac #300
+	(void) v1;
+	(void) v3;
+	(void) v4;
+	(void) v5;
+	(void) v6;
+	(void) v7;
+	(void) v8;
 }
Index: tests/variableDeclarator.cfa
===================================================================
--- tests/variableDeclarator.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/variableDeclarator.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -93,4 +93,7 @@
 int (f66)(int);
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wignored-qualifiers"
+
 int * f67(int);
 int ** f68(int);
@@ -112,4 +115,6 @@
 int (*(* const f80)(int))();
 int (* const(* const f81)(int))();
+
+#pragma GCC diagnostic pop
 
 // errors
@@ -166,8 +171,13 @@
 [int] cf66(int);
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wignored-qualifiers"
+
 [* int] cf67(int);
 [* * int] cf68(int);
 [const * * int] cf69(int);
 [const * const * int] cf70(int);
+
+#pragma GCC diagnostic pop
 
 // function pointer
@@ -177,6 +187,6 @@
 
 //Dummy main
-int main( int argc, char const * argv[] ) {
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+int main() {
+    printf("done\n");
 }
 
Index: tests/warnings/.expect/self-assignment.txt
===================================================================
--- tests/warnings/.expect/self-assignment.txt	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/warnings/.expect/self-assignment.txt	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -1,3 +1,2 @@
-warnings/self-assignment.cfa:34:25: warning: Compiled
 warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of:
   Variable Expression: j: signed int
Index: tests/warnings/self-assignment.cfa
===================================================================
--- tests/warnings/self-assignment.cfa	(revision 7d65715f9246b33004b8d8c79b28204ed714b9a2)
+++ tests/warnings/self-assignment.cfa	(revision d60a4c29ec448e420ca9b5c471912c32c8b9ef93)
@@ -22,5 +22,5 @@
 };
 
-int main() {
+void f() {
 	int j = 0;
 	S s = { 0 };
@@ -32,5 +32,5 @@
 	t.s.i = t.s.i;
 
-    #pragma GCC warning "Compiled"                      // force non-empty .expect file, NO TABS!!!
+	// Is compiled -fsyntax-only (not run), to make the test's "output" be the warnings from cfa-cpp.
 }
 
