Index: benchmark/plot.py
===================================================================
--- benchmark/plot.py	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ benchmark/plot.py	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,110 @@
+#!/usr/bin/python3
+"""
+Python Script to plot values obtained by the rmit.py script
+Runs a R.I.P.L.
+
+./plot.py
+-t trials
+-o option:values
+"""
+
+import argparse
+import itertools
+import json
+import math
+import numpy
+import re
+import sys
+
+import matplotlib.pyplot as plt
+from matplotlib.ticker import EngFormatter
+
+class Field:
+	def __init__(self, unit, _min):
+		self.unit = unit
+		self.min  = _min
+
+field_names = {
+	"ns per ops"           : Field('ns'    , 0),
+	"Number of processors" : Field(''      , 1),
+	"Ops per procs"        : Field('Ops'   , 0),
+	"Ops per threads"      : Field('Ops'   , 0),
+	"ns per ops/procs"     : Field('ns'    , 0),
+	"Number of threads"    : Field('thrd'  , 1),
+	"Total Operations(ops)": Field('Ops'   , 0),
+	"Ops/sec/procs"        : Field('Ops'   , 0),
+	"Total blocks"         : Field('Blocks', 0),
+	"Ops per second"       : Field('Ops'   , 0),
+	"Cycle size (# thrds)" : Field('thrd'  , 1),
+	"Duration (ms)"        : Field('ms'    , 0),
+}
+
+def plot(data, x, y):
+	fig, ax = plt.subplots()
+	colors = itertools.cycle(['#0095e3','#006cb4','#69df00','#0aa000','#fb0300','#e30002','#fd8f00','#ff7f00','#8f00d6','#4b009a','#ffff00','#b13f00'])
+	series = {}
+	for entry in data:
+		if not entry[0] in series:
+			series[entry[0]] = {'x':[], 'y':[]}
+
+		if x in entry[2] and y in entry[2]:
+			series[entry[0]]['x'].append(entry[2][x])
+			series[entry[0]]['y'].append(entry[2][y])
+
+	for name, data in series.items():
+		plt.scatter(data['x'], data['y'], color=next(colors), label=name, marker='x')
+
+	mx = max([max(s['x']) for s in series.values()])
+	my = max([max(s['y']) for s in series.values()])
+
+	plt.ylabel(y)
+	plt.xlim(field_names[x].min, mx + 0.25)
+	plt.xticks(range(1, math.ceil(mx) + 1))
+	plt.xlabel(x)
+	plt.ylim(field_names[y].min, my*1.2)
+	plt.grid(b = True)
+	ax.xaxis.set_major_formatter( EngFormatter(unit=field_names[x].unit) )
+	ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) )
+	plt.legend(loc='upper left')
+	plt.show()
+
+
+if __name__ == "__main__":
+	# ================================================================================
+	# parse command line arguments
+	parser = parser = argparse.ArgumentParser(description='Python Script to draw R.M.I.T. results')
+	parser.add_argument('-f', '--file', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
+
+	try:
+		options =  parser.parse_args()
+	except:
+		print('ERROR: invalid arguments', file=sys.stderr)
+		parser.print_help(sys.stderr)
+		sys.exit(1)
+
+	# ================================================================================
+	# load data
+	try :
+		data = json.load(options.file)
+	except :
+		print('ERROR: could not read input', file=sys.stderr)
+		parser.print_help(sys.stderr)
+		sys.exit(1)
+
+	# ================================================================================
+	# identify the keys
+
+	series = set()
+	fields = set()
+
+	for entry in data:
+		series.add(entry[0])
+		for label in entry[2].keys():
+			fields.add(label)
+
+	print(series)
+	print("fields")
+	for f in fields:
+		print("{}".format(f))
+
+	plot(data, "Number of processors", "ns per ops")
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ libcfa/src/concurrency/kernel.cfa	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -379,6 +379,14 @@
 
 	ready_schedule_lock();
-		push( thrd->curr_cluster, thrd );
-		__wake_one(thrd->curr_cluster);
+		// Dereference the thread now because once we push it, there is not guaranteed it's still valid.
+		struct cluster * cl = thrd->curr_cluster;
+
+		// push the thread to the cluster ready-queue
+		push( cl, thrd );
+
+		// variable thrd is no longer safe to use
+
+		// wake the cluster using the save variable.
+		__wake_one( cl );
 	ready_schedule_unlock();
 
Index: src/AST/Expr.hpp
===================================================================
--- src/AST/Expr.hpp	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ src/AST/Expr.hpp	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -299,5 +299,13 @@
 };
 
-/// Whether a cast existed in the program source or not
+/// Inidicates whether the cast is introduced by the CFA type system.
+/// GeneratedCast for casts that the resolver introduces to force a return type
+/// ExplicitCast for casts from user code
+/// ExplicitCast for casts from desugaring advanced CFA features into simpler CFA
+/// example
+///   int * p;     // declaration
+///   (float *) p; // use, with subject cast
+/// subject cast being GeneratedCast means we are considering an interpretation with a type mismatch
+/// subject cast being ExplicitCast means someone in charge wants it that way
 enum GeneratedFlag { ExplicitCast, GeneratedCast };
 
Index: src/InitTweak/FixInit.h
===================================================================
--- src/InitTweak/FixInit.h	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ src/InitTweak/FixInit.h	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -21,5 +21,5 @@
 class Declaration;
 namespace ast {
-	class TranslationUnit;
+	struct TranslationUnit;
 }
 
Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ src/Parser/ParseNode.h	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -37,9 +37,9 @@
 class Attribute;
 class Declaration;
-class DeclarationNode;
+struct DeclarationNode;
 class DeclarationWithType;
 class ExpressionNode;
 class Initializer;
-class StatementNode;
+struct StatementNode;
 
 //##############################################################################
Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -1101,6 +1101,9 @@
 				// unification run for side-effects
 				unify( toType, cand->expr->result, cand->env, need, have, open, symtab );
-				Cost thisCost = castCost( cand->expr->result, toType, cand->expr->get_lvalue(),
-						symtab, cand->env );
+				Cost thisCost = 
+					(castExpr->isGenerated == ast::GeneratedFlag::GeneratedCast)
+ 	                    ? conversionCost( cand->expr->result, toType, cand->expr->get_lvalue(), symtab, cand->env )
+ 	                    : castCost( cand->expr->result, toType, cand->expr->get_lvalue(), symtab, cand->env );
+
 				PRINT(
 					std::cerr << "working on cast with result: " << toType << std::endl;
@@ -1591,8 +1594,19 @@
 
 					// unification run for side-effects
-					unify( toType, cand->expr->result, env, need, have, open, symtab );
+					bool canUnify = unify( toType, cand->expr->result, env, need, have, open, symtab );
+                    (void) canUnify;
 					Cost thisCost = computeConversionCost( cand->expr->result, toType, cand->expr->get_lvalue(),
+						symtab, env );
+					PRINT(
+						Cost legacyCost = castCost( cand->expr->result, toType, cand->expr->get_lvalue(),
 							symtab, env );
-
+						std::cerr << "Considering initialization:";
+						std::cerr << std::endl << "  FROM: " << cand->expr->result << std::endl;
+						std::cerr << std::endl << "  TO: "   << toType             << std::endl;
+						std::cerr << std::endl << "  Unification " << (canUnify ? "succeeded" : "failed");
+						std::cerr << std::endl << "  Legacy cost " << legacyCost;
+						std::cerr << std::endl << "  New cost " << thisCost;
+						std::cerr << std::endl;
+					)
 					if ( thisCost != Cost::infinity ) {
 						// count one safe conversion for each value that is thrown away
Index: src/ResolvExpr/Resolver.h
===================================================================
--- src/ResolvExpr/Resolver.h	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ src/ResolvExpr/Resolver.h	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -35,5 +35,5 @@
 	class StmtExpr;
 	class SymbolTable;
-	class TranslationUnit;
+	struct TranslationUnit;
 	class Type;
 	class TypeEnvironment;
@@ -63,5 +63,5 @@
 	ast::ptr< ast::Expr > resolveInVoidContext(
 		const ast::Expr * expr, const ast::SymbolTable & symtab, ast::TypeEnvironment & env );
-	/// Resolve `untyped` to the single expression whose candidate is the best match for the 
+	/// Resolve `untyped` to the single expression whose candidate is the best match for the
 	/// given type.
 	ast::ptr< ast::Expr > findSingleExpression(
Index: tests/.expect/KRfunctions.nast.x64.txt
===================================================================
--- tests/.expect/KRfunctions.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/KRfunctions.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,116 @@
+signed int _X2f0Fi_iPKii__1(signed int _X1ai_1, const signed int *_X1bPKi_1, signed int _X1ci_1){
+    __attribute__ ((unused)) signed int _X10_retval_f0i_1;
+}
+signed int _X2f1Fi_PiiPi__1(signed int *_X1aPi_1, __attribute__ ((unused)) signed int _X1bi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+signed int _X2f2Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
+}
+struct S {
+    signed int _X1ii_1;
+};
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
+    }
+
+}
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    struct S _X4_retS1S_1;
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
+    }
+
+    return _X4_retS1S_1;
+}
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
+    }
+
+}
+signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f3i_1;
+    struct S _X1sS1S_2;
+}
+signed int _X2f4Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f4i_1;
+}
+signed int _X2f5Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f5i_1;
+}
+signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int __param_0){
+    __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __param_0);
+}
+signed int (*_X2f7FFi_ii__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int __param_0, signed int __param_1){
+    __attribute__ ((unused)) signed int (*_X10_retval_f7Fi_ii__1)(signed int __param_0, signed int __param_1);
+}
+signed int *_X2f8FPi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int *_X10_retval_f8Pi_1;
+}
+signed int *const _X2f9FPi_PiiPi__1(signed int *_X1aPi_1, signed int _X1bi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int *const _X10_retval_f9KPi_1;
+}
+signed int *(*_X3f10FFPi_ii__iPiPid__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1, double _X1yd_1))(signed int __param_0, signed int __param_1){
+    __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int __param_0, signed int __param_1);
+    signed int *_X1xFPi_ii__2(signed int __anonymous_object0, signed int __anonymous_object1);
+    {
+        ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */);
+    }
+
+    return _X11_retval_f10FPi_ii__1;
+}
+signed int (*_X3f11FPA0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0i_1)[];
+}
+signed int (*_X3f12FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int (*_X3f13FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f13PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int (*_X3f14FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f14PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int _X3f15Fi_iii__1(signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
+    __attribute__ ((unused)) signed int _X11_retval_f15i_1;
+}
+const signed int _X4fredFi___1(){
+    __attribute__ ((unused)) const signed int _X12_retval_fredKi_1;
+    signed int *(*_X1xFPi_ii__2)(signed int __param_0, signed int __param_1);
+    signed int _X1ai_2;
+    signed int _X1bi_2;
+    {
+        signed int *(*_tmp_cp_ret4)(signed int __param_0, signed int __param_1);
+        ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));
+    }
+
+    const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){
+        __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2;
+    }
+    const signed int _X2f2Fi_iii__2(signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
+        __attribute__ ((unused)) const signed int _X10_retval_f2Ki_2;
+    }
+}
Index: tests/.expect/KRfunctions.oast.x64.txt
===================================================================
--- tests/.expect/KRfunctions.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/KRfunctions.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,116 @@
+signed int _X2f0Fi_iPKii__1(signed int _X1ai_1, const signed int *_X1bPKi_1, signed int _X1ci_1){
+    __attribute__ ((unused)) signed int _X10_retval_f0i_1;
+}
+signed int _X2f1Fi_PiiPi__1(signed int *_X1aPi_1, __attribute__ ((unused)) signed int _X1bi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+signed int _X2f2Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
+}
+struct S {
+    signed int _X1ii_1;
+};
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
+    }
+
+}
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    struct S _X4_retS1S_1;
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
+    }
+
+    return _X4_retS1S_1;
+}
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
+    }
+
+}
+signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f3i_1;
+    struct S _X1sS1S_2;
+}
+signed int _X2f4Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f4i_1;
+}
+signed int _X2f5Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int _X10_retval_f5i_1;
+}
+signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(__attribute__ ((unused)) signed int __anonymous_object0){
+    __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __anonymous_object1);
+}
+signed int (*_X2f7FFi_ii__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int _X1ai_1, signed int _X1bi_1){
+    __attribute__ ((unused)) signed int (*_X10_retval_f7Fi_ii__1)(signed int _X1ai_1, signed int _X1bi_1);
+}
+signed int *_X2f8FPi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int *_X10_retval_f8Pi_1;
+}
+signed int *const _X2f9FPi_PiiPi__1(signed int *_X1aPi_1, signed int _X1bi_1, signed int *_X1cPi_1){
+    __attribute__ ((unused)) signed int *const _X10_retval_f9KPi_1;
+}
+signed int *(*_X3f10FFPi_ii__iPiPid__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1, double _X1yd_1))(signed int _X1xi_1, signed int _X1yi_1){
+    __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1);
+    signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3);
+    {
+        ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */);
+    }
+
+    return _X11_retval_f10FPi_ii__1;
+}
+signed int (*_X3f11FPA0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0i_1)[];
+}
+signed int (*_X3f12FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int (*_X3f13FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f13PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int (*_X3f14FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f14PA0A0i_1)[][((unsigned long int )10)];
+}
+signed int _X3f15Fi_iii__1(signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
+    __attribute__ ((unused)) signed int _X11_retval_f15i_1;
+}
+const signed int _X4fredFi___1(){
+    __attribute__ ((unused)) const signed int _X12_retval_fredKi_1;
+    signed int *(*_X1xFPi_ii__2)(signed int __anonymous_object4, signed int __anonymous_object5);
+    signed int _X1ai_2;
+    signed int _X1bi_2;
+    {
+        signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1);
+        ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));
+    }
+
+    const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){
+        __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2;
+    }
+    const signed int _X2f2Fi_iii__2(signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
+        __attribute__ ((unused)) const signed int _X10_retval_f2Ki_2;
+    }
+}
Index: sts/.expect/KRfunctions.x64.txt
===================================================================
--- tests/.expect/KRfunctions.x64.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,116 +1,0 @@
-signed int _X2f0Fi_iPKii__1(signed int _X1ai_1, const signed int *_X1bPKi_1, signed int _X1ci_1){
-    __attribute__ ((unused)) signed int _X10_retval_f0i_1;
-}
-signed int _X2f1Fi_PiiPi__1(signed int *_X1aPi_1, __attribute__ ((unused)) signed int _X1bi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
-}
-signed int _X2f2Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
-}
-struct S {
-    signed int _X1ii_1;
-};
-static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
-static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
-static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
-static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
-static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
-static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
-    }
-
-}
-static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
-    }
-
-}
-static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
-    struct S _X4_retS1S_1;
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
-    }
-
-    {
-        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
-    }
-
-    return _X4_retS1S_1;
-}
-static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
-    }
-
-}
-signed int _X2f3Fi_S1SS1SPi__1(struct S _X1aS1S_1, struct S _X1bS1S_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int _X10_retval_f3i_1;
-    struct S _X1sS1S_2;
-}
-signed int _X2f4Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int _X10_retval_f4i_1;
-}
-signed int _X2f5Fi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int _X10_retval_f5i_1;
-}
-signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(__attribute__ ((unused)) signed int __anonymous_object0){
-    __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __anonymous_object1);
-}
-signed int (*_X2f7FFi_ii__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int _X1ai_1, signed int _X1bi_1){
-    __attribute__ ((unused)) signed int (*_X10_retval_f7Fi_ii__1)(signed int _X1ai_1, signed int _X1bi_1);
-}
-signed int *_X2f8FPi_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int *_X10_retval_f8Pi_1;
-}
-signed int *const _X2f9FPi_PiiPi__1(signed int *_X1aPi_1, signed int _X1bi_1, signed int *_X1cPi_1){
-    __attribute__ ((unused)) signed int *const _X10_retval_f9KPi_1;
-}
-signed int *(*_X3f10FFPi_ii__iPiPid__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1, double _X1yd_1))(signed int _X1xi_1, signed int _X1yi_1){
-    __attribute__ ((unused)) signed int *(*_X11_retval_f10FPi_ii__1)(signed int _X1xi_1, signed int _X1yi_1);
-    signed int *_X1xFPi_ii__2(signed int __anonymous_object2, signed int __anonymous_object3);
-    {
-        ((void)(_X11_retval_f10FPi_ii__1=_X1xFPi_ii__2) /* ?{} */);
-    }
-
-    return _X11_retval_f10FPi_ii__1;
-}
-signed int (*_X3f11FPA0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0i_1)[];
-}
-signed int (*_X3f12FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )10)];
-}
-signed int (*_X3f13FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f13PA0A0i_1)[][((unsigned long int )10)];
-}
-signed int (*_X3f14FPA0A0i_iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))[][((unsigned long int )10)]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f14PA0A0i_1)[][((unsigned long int )10)];
-}
-signed int _X3f15Fi_iii__1(signed int _X1ai_1, signed int _X1bi_1, signed int _X1ci_1){
-    __attribute__ ((unused)) signed int _X11_retval_f15i_1;
-}
-const signed int _X4fredFi___1(){
-    __attribute__ ((unused)) const signed int _X12_retval_fredKi_1;
-    signed int *(*_X1xFPi_ii__2)(signed int __anonymous_object4, signed int __anonymous_object5);
-    signed int _X1ai_2;
-    signed int _X1bi_2;
-    {
-        signed int *(*_tmp_cp_ret4)(signed int _X1xi_1, signed int _X1yi_1);
-        ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));
-    }
-
-    const signed int _X2f1Fi_iPiPi__2(signed int _X1ai_2, signed int *_X1bPi_2, signed int *_X1cPi_2){
-        __attribute__ ((unused)) const signed int _X10_retval_f1Ki_2;
-    }
-    const signed int _X2f2Fi_iii__2(signed int _X1ai_2, signed int _X1bi_2, signed int _X1ci_2){
-        __attribute__ ((unused)) const signed int _X10_retval_f2Ki_2;
-    }
-}
Index: tests/.expect/alloc-ERROR.nast.txt
===================================================================
--- tests/.expect/alloc-ERROR.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/alloc-ERROR.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,44 @@
+alloc.cfa:382:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: realloc
+  ...to:
+    Name: stp
+    Applying untyped:
+      Name: ?*?
+    ...to:
+      Name: dim
+      Sizeof Expression on: Applying untyped:
+          Name: *?
+        ...to:
+          Name: stp
+
+
+
+
+alloc.cfa:383:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: memset
+  ...to:
+    Name: stp
+    Constant Expression (10: signed int)
+
+
+alloc.cfa:384:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: memcpy
+  ...to:
+    Address of:
+      Name: st1
+    Address of:
+      Name: st
+
+
Index: tests/.expect/alloc-ERROR.oast.txt
===================================================================
--- tests/.expect/alloc-ERROR.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/alloc-ERROR.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,44 @@
+alloc.cfa:382:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: realloc
+  ...to:
+    Name: stp
+    Applying untyped:
+      Name: ?*?
+    ...to:
+      Name: dim
+      Sizeof Expression on: Applying untyped:
+          Name: *?
+        ...to:
+          Name: stp
+
+
+
+
+alloc.cfa:383:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: memset
+  ...to:
+    Name: stp
+    constant expression (10 10: signed int)
+
+
+alloc.cfa:384:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?=?
+...to:
+  Name: ip
+  Applying untyped:
+    Name: memcpy
+  ...to:
+    Address of:
+      Name: st1
+    Address of:
+      Name: st
+
+
Index: sts/.expect/alloc-ERROR.txt
===================================================================
--- tests/.expect/alloc-ERROR.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,44 +1,0 @@
-alloc.cfa:382:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: ip
-  Applying untyped:
-    Name: realloc
-  ...to:
-    Name: stp
-    Applying untyped:
-      Name: ?*?
-    ...to:
-      Name: dim
-      Sizeof Expression on: Applying untyped:
-          Name: *?
-        ...to:
-          Name: stp
-
-
-
-
-alloc.cfa:383:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: ip
-  Applying untyped:
-    Name: memset
-  ...to:
-    Name: stp
-    constant expression (10 10: signed int)
-
-
-alloc.cfa:384:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?=?
-...to:
-  Name: ip
-  Applying untyped:
-    Name: memcpy
-  ...to:
-    Address of:
-      Name: st1
-    Address of:
-      Name: st
-
-
Index: tests/.expect/attributes.nast.x64.txt
===================================================================
--- tests/.expect/attributes.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/attributes.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,807 @@
+signed int _X2laFi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_lai_1;
+    {
+        L: __attribute__ ((unused)) ((void)1);
+    }
+
+}
+struct __attribute__ ((unused)) __anonymous0 {
+};
+static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
+static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
+static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
+static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
+static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
+}
+static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
+}
+static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
+}
+static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
+    struct __anonymous0 _X4_retS12__anonymous0_1;
+    {
+        ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
+    }
+
+    return _X4_retS12__anonymous0_1;
+}
+struct __attribute__ ((unused)) Agn1;
+struct __attribute__ ((unused)) Agn2 {
+};
+static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
+static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
+static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
+static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
+static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
+}
+static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
+}
+static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
+}
+static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
+    struct Agn2 _X4_retS4Agn2_1;
+    {
+        ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1)));
+    }
+
+    return _X4_retS4Agn2_1;
+}
+enum __attribute__ ((unused)) __anonymous1 {
+    _X2E1KM12__anonymous1_1,
+};
+enum __attribute__ ((unused)) Agn3;
+enum __attribute__ ((packed)) Agn3 {
+    _X2E2KM4Agn3_1,
+};
+struct __attribute__ ((unused)) __anonymous2 {
+};
+static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
+static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
+static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
+static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
+static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
+}
+static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
+}
+static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
+}
+static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
+    struct __anonymous2 _X4_retS12__anonymous2_1;
+    {
+        ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
+    }
+
+    return _X4_retS12__anonymous2_1;
+}
+struct __attribute__ ((unused)) Agn4 {
+};
+static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
+static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
+static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
+static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
+static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
+}
+static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
+}
+static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
+}
+static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
+    struct Agn4 _X4_retS4Agn4_1;
+    {
+        ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1)));
+    }
+
+    return _X4_retS4Agn4_1;
+}
+struct Fdl {
+    __attribute__ ((unused)) signed int _X2f1i_1;
+    __attribute__ ((unused)) signed int _X2f2i_1;
+    __attribute__ ((unused,unused)) signed int _X2f3i_1;
+    __attribute__ ((unused)) signed int _X2f4i_1;
+    __attribute__ ((unused,unused)) signed int _X2f5i_1;
+    __attribute__ ((used,packed)) signed int _X2f6i_1;
+    __attribute__ ((used,unused,unused)) signed int _X2f7i_1;
+    __attribute__ ((used,used,unused)) signed int _X2f8i_1;
+    __attribute__ ((unused,unused)) signed int *_X2f9Pi_1;
+};
+static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
+static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
+static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
+static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
+static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1);
+static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1);
+static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1);
+static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1);
+static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1);
+static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1);
+static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1);
+static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1);
+static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1);
+static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */);
+    }
+
+}
+static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
+    struct Fdl _X4_retS3Fdl_1;
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1)));
+    }
+
+    return _X4_retS3Fdl_1;
+}
+static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */);
+    }
+
+}
+__attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" );
+__attribute__ ((used,used)) const signed int _X3vd1Ki_1;
+__attribute__ ((used,unused)) const signed int _X3vd2Ki_1;
+__attribute__ ((used,used,used,used)) const signed int *_X3vd3PKi_1;
+__attribute__ ((used,used,unused,used,unused)) const signed int *_X3vd4PKi_1;
+__attribute__ ((used,used,used)) const signed int _X3vd5A0Ki_1[((unsigned long int )5)];
+__attribute__ ((used,used,unused,used)) const signed int _X3vd6A0Ki_1[((unsigned long int )5)];
+__attribute__ ((used,used,used,used)) const signed int (*_X3vd7Fi___1)();
+__attribute__ ((used,used,unused,used,used)) const signed int (*_X3vd8Fi___1)();
+__attribute__ ((unused,used)) signed int _X2f1Fi___1();
+__attribute__ ((unused)) signed int _X2f1Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1();
+__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(){
+    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
+}
+__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
+__attribute__ ((unused,unused)) signed int (*_X2f3FPA0i_i__1(signed int _X1pi_1))[]{
+    __attribute__ ((unused)) signed int (*_X10_retval_f3PA0i_1)[];
+}
+__attribute__ ((unused,used,unused)) signed int (*_X2f4FFi_i____1())(signed int __param_0);
+__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(signed int __param_0){
+    __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __param_0);
+}
+signed int _X3vtrFi___1(){
+    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
+    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
+    __attribute__ ((unused,unused,unused)) signed int _X2t3A0i_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t4A0PPi_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused)) signed int _X2t5Fi___2();
+    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2();
+}
+signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
+signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
+}
+signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
+signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
+}
+signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
+signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
+}
+signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)());
+signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)()){
+    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
+}
+signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
+signed int _X4tpr2Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **_X3FooPPi_1);
+signed int _X4tpr3Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *_X3FooPi_1);
+signed int _X4tpr4Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object1)(signed int __param_0[((unsigned long int )5)]));
+signed int _X4tpr5Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
+signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
+signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object2)(signed int (*__param_0)(signed int __param_0)));
+signed int _X2adFi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_adi_1;
+    __attribute__ ((used,unused)) signed int _X3ad1i_2;
+    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
+    __attribute__ ((unused,unused,unused)) signed int _X3ad3A0i_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int (*_X3ad4PA0i_2)[((unsigned long int )10)];
+    __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2;
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2();
+    {
+        ((void)sizeof(__attribute__ ((unused,unused)) signed int ));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [5]));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[10]));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
+    }
+
+    struct __attribute__ ((unused)) __anonymous3 {
+        signed int _X1ii_2;
+    };
+    inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */);
+        }
+
+    }
+    inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */);
+        }
+
+    }
+    inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */);
+        }
+
+    }
+    inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
+        struct __anonymous3 _X4_retS12__anonymous3_2;
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2));
+        }
+
+        {
+            ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2)));
+        }
+
+        return _X4_retS12__anonymous3_2;
+    }
+    inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */);
+        }
+
+    }
+    {
+        ((void)sizeof(struct __anonymous3 ));
+    }
+
+    enum __attribute__ ((unused)) __anonymous4 {
+        _X1RKM12__anonymous4_2,
+    };
+    inline void _X12_constructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
+    }
+    inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
+        {
+            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */);
+        }
+
+    }
+    inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
+    }
+    inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
+        enum __anonymous4 _X4_retM12__anonymous4_2;
+        {
+            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
+        }
+
+        {
+            ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */);
+        }
+
+        return _X4_retM12__anonymous4_2;
+    }
+    {
+        ((void)sizeof(enum __anonymous4 ));
+    }
+
+}
+signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object3, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object4);
+signed int _X4apd2Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object5, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object6);
+signed int _X4apd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object7, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object8);
+signed int _X4apd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object9)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object10)());
+signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object11)(signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object12)(signed int __param_0));
+signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object13)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object14)());
+signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(signed int __param_0), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)(signed int __param_0));
+struct Vad {
+    __attribute__ ((unused)) signed int :4;
+    __attribute__ ((unused)) signed int :4;
+    __attribute__ ((unused,unused)) signed int :6;
+};
+static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
+static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
+static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
+static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
+static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
+}
+static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
+}
+static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
+}
+static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
+    struct Vad _X4_retS3Vad_1;
+    {
+        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
+    }
+
+    return _X4_retS3Vad_1;
+}
Index: tests/.expect/attributes.oast.x64.txt
===================================================================
--- tests/.expect/attributes.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/attributes.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,807 @@
+signed int _X2laFi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_lai_1;
+    {
+        L: __attribute__ ((unused)) ((void)1);
+    }
+
+}
+struct __attribute__ ((unused)) __anonymous0 {
+};
+static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
+static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
+static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
+static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
+static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
+}
+static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
+}
+static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
+}
+static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
+    struct __anonymous0 _X4_retS12__anonymous0_1;
+    {
+        ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
+    }
+
+    return _X4_retS12__anonymous0_1;
+}
+struct __attribute__ ((unused)) Agn1;
+struct __attribute__ ((unused)) Agn2 {
+};
+static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
+static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
+static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
+static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
+static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
+}
+static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
+}
+static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
+}
+static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
+    struct Agn2 _X4_retS4Agn2_1;
+    {
+        ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1)));
+    }
+
+    return _X4_retS4Agn2_1;
+}
+enum __attribute__ ((unused)) __anonymous1 {
+    _X2E1KM12__anonymous1_1,
+};
+enum __attribute__ ((unused)) Agn3;
+enum __attribute__ ((packed)) Agn3 {
+    _X2E2KM4Agn3_1,
+};
+struct __attribute__ ((unused)) __anonymous2 {
+};
+static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
+static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
+static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
+static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
+static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
+}
+static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
+}
+static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
+}
+static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
+    struct __anonymous2 _X4_retS12__anonymous2_1;
+    {
+        ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
+    }
+
+    return _X4_retS12__anonymous2_1;
+}
+struct __attribute__ ((unused)) Agn4 {
+};
+static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
+static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
+static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
+static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
+static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
+}
+static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
+}
+static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
+}
+static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
+    struct Agn4 _X4_retS4Agn4_1;
+    {
+        ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1)));
+    }
+
+    return _X4_retS4Agn4_1;
+}
+struct Fdl {
+    __attribute__ ((unused)) signed int _X2f1i_1;
+    __attribute__ ((unused)) signed int _X2f2i_1;
+    __attribute__ ((unused,unused)) signed int _X2f3i_1;
+    __attribute__ ((unused)) signed int _X2f4i_1;
+    __attribute__ ((unused,unused)) signed int _X2f5i_1;
+    __attribute__ ((used,packed)) signed int _X2f6i_1;
+    __attribute__ ((used,unused,unused)) signed int _X2f7i_1;
+    __attribute__ ((used,used,unused)) signed int _X2f8i_1;
+    __attribute__ ((unused,unused)) signed int *_X2f9Pi_1;
+};
+static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
+static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
+static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
+static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
+static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1);
+static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1);
+static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1);
+static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1);
+static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1);
+static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1);
+static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1);
+static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1);
+static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1);
+static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */);
+    }
+
+}
+static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
+    struct Fdl _X4_retS3Fdl_1;
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1));
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1)));
+    }
+
+    return _X4_retS3Fdl_1;
+}
+static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
+    }
+
+    {
+        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */);
+    }
+
+}
+__attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" );
+__attribute__ ((used,used)) const signed int _X3vd1Ki_1;
+__attribute__ ((used,unused)) const signed int _X3vd2Ki_1;
+__attribute__ ((used,used,used,used)) const signed int *_X3vd3PKi_1;
+__attribute__ ((used,used,unused,used,unused)) const signed int *_X3vd4PKi_1;
+__attribute__ ((used,used,used)) const signed int _X3vd5A0Ki_1[((unsigned long int )5)];
+__attribute__ ((used,used,unused,used)) const signed int _X3vd6A0Ki_1[((unsigned long int )5)];
+__attribute__ ((used,used,used,used)) const signed int (*_X3vd7Fi___1)();
+__attribute__ ((used,used,unused,used,used)) const signed int (*_X3vd8Fi___1)();
+__attribute__ ((unused,used)) signed int _X2f1Fi___1();
+__attribute__ ((unused)) signed int _X2f1Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1();
+__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(){
+    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
+}
+__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
+__attribute__ ((unused,unused)) signed int (*_X2f3FPA0i_i__1(signed int _X1pi_1))[]{
+    __attribute__ ((unused)) signed int (*_X10_retval_f3PA0i_1)[];
+}
+__attribute__ ((unused,used,unused)) signed int (*_X2f4FFi_i____1())(signed int __anonymous_object1);
+__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(__attribute__ ((unused)) signed int __anonymous_object2){
+    __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __anonymous_object3);
+}
+signed int _X3vtrFi___1(){
+    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
+    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
+    __attribute__ ((unused,unused,unused)) signed int _X2t3A0i_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t4A0PPi_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused)) signed int _X2t5Fi___2();
+    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2();
+}
+signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
+signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
+}
+signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
+signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
+}
+signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
+signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
+    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
+}
+signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)());
+signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)()){
+    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
+}
+signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
+signed int _X4tpr2Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **_X3FooPPi_1);
+signed int _X4tpr3Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *_X3FooPi_1);
+signed int _X4tpr4Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object4)(__attribute__ ((unused,unused)) signed int __anonymous_object5[((unsigned long int )5)]));
+signed int _X4tpr5Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
+signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
+signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8)));
+signed int _X2adFi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_adi_1;
+    __attribute__ ((used,unused)) signed int _X3ad1i_2;
+    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
+    __attribute__ ((unused,unused,unused)) signed int _X3ad3A0i_2[((unsigned long int )5)];
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int (*_X3ad4PA0i_2)[((unsigned long int )10)];
+    __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2;
+    __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2();
+    {
+        ((void)sizeof(__attribute__ ((unused,unused)) signed int ));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)]));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)]));
+    }
+
+    {
+        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
+    }
+
+    struct __attribute__ ((unused)) __anonymous3 {
+        signed int _X1ii_2;
+    };
+    inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */);
+        }
+
+    }
+    inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */);
+        }
+
+    }
+    inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */);
+        }
+
+    }
+    inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
+        struct __anonymous3 _X4_retS12__anonymous3_2;
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2));
+        }
+
+        {
+            ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2)));
+        }
+
+        return _X4_retS12__anonymous3_2;
+    }
+    inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){
+        {
+            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */);
+        }
+
+    }
+    {
+        ((void)sizeof(struct __anonymous3 ));
+    }
+
+    enum __attribute__ ((unused)) __anonymous4 {
+        _X1RKM12__anonymous4_2,
+    };
+    inline void _X12_constructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
+    }
+    inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
+        {
+            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */);
+        }
+
+    }
+    inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
+    }
+    inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
+        enum __anonymous4 _X4_retM12__anonymous4_2;
+        {
+            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
+        }
+
+        {
+            ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */);
+        }
+
+        return _X4_retM12__anonymous4_2;
+    }
+    {
+        ((void)sizeof(enum __anonymous4 ));
+    }
+
+}
+signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10);
+signed int _X4apd2Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12);
+signed int _X4apd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object13, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object14);
+signed int _X4apd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)());
+signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __anonymous_object18), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object19)(__attribute__ ((unused)) signed int __anonymous_object20));
+signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)());
+signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object23)(__attribute__ ((unused)) signed int __anonymous_object24), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object25)(__attribute__ ((unused)) signed int __anonymous_object26));
+struct Vad {
+    __attribute__ ((unused)) signed int :4;
+    __attribute__ ((unused)) signed int :4;
+    __attribute__ ((unused,unused)) signed int :6;
+};
+static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
+static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
+static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
+static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
+static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
+}
+static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
+}
+static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
+}
+static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
+    struct Vad _X4_retS3Vad_1;
+    {
+        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
+    }
+
+    return _X4_retS3Vad_1;
+}
Index: sts/.expect/attributes.x64.txt
===================================================================
--- tests/.expect/attributes.x64.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,807 +1,0 @@
-signed int _X2laFi___1(){
-    __attribute__ ((unused)) signed int _X10_retval_lai_1;
-    {
-        L: __attribute__ ((unused)) ((void)1);
-    }
-
-}
-struct __attribute__ ((unused)) __anonymous0 {
-};
-static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
-static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
-static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1);
-static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1);
-static inline void _X12_constructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
-}
-static inline void _X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
-}
-static inline void _X11_destructorFv_S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1){
-}
-static inline struct __anonymous0 _X16_operator_assignFS12__anonymous0_S12__anonymous0S12__anonymous0_autogen___1(struct __anonymous0 *_X4_dstS12__anonymous0_1, struct __anonymous0 _X4_srcS12__anonymous0_1){
-    struct __anonymous0 _X4_retS12__anonymous0_1;
-    {
-        ((void)_X12_constructorFv_S12__anonymous0S12__anonymous0_autogen___1((&_X4_retS12__anonymous0_1), (*_X4_dstS12__anonymous0_1)));
-    }
-
-    return _X4_retS12__anonymous0_1;
-}
-struct __attribute__ ((unused)) Agn1;
-struct __attribute__ ((unused)) Agn2 {
-};
-static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
-static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
-static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1);
-static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1);
-static inline void _X12_constructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
-}
-static inline void _X12_constructorFv_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
-}
-static inline void _X11_destructorFv_S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1){
-}
-static inline struct Agn2 _X16_operator_assignFS4Agn2_S4Agn2S4Agn2_autogen___1(struct Agn2 *_X4_dstS4Agn2_1, struct Agn2 _X4_srcS4Agn2_1){
-    struct Agn2 _X4_retS4Agn2_1;
-    {
-        ((void)_X12_constructorFv_S4Agn2S4Agn2_autogen___1((&_X4_retS4Agn2_1), (*_X4_dstS4Agn2_1)));
-    }
-
-    return _X4_retS4Agn2_1;
-}
-enum __attribute__ ((unused)) __anonymous1 {
-    _X2E1KM12__anonymous1_1,
-};
-enum __attribute__ ((unused)) Agn3;
-enum __attribute__ ((packed)) Agn3 {
-    _X2E2KM4Agn3_1,
-};
-struct __attribute__ ((unused)) __anonymous2 {
-};
-static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
-static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
-static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1);
-static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1);
-static inline void _X12_constructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
-}
-static inline void _X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
-}
-static inline void _X11_destructorFv_S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1){
-}
-static inline struct __anonymous2 _X16_operator_assignFS12__anonymous2_S12__anonymous2S12__anonymous2_autogen___1(struct __anonymous2 *_X4_dstS12__anonymous2_1, struct __anonymous2 _X4_srcS12__anonymous2_1){
-    struct __anonymous2 _X4_retS12__anonymous2_1;
-    {
-        ((void)_X12_constructorFv_S12__anonymous2S12__anonymous2_autogen___1((&_X4_retS12__anonymous2_1), (*_X4_dstS12__anonymous2_1)));
-    }
-
-    return _X4_retS12__anonymous2_1;
-}
-struct __attribute__ ((unused)) Agn4 {
-};
-static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
-static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
-static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1);
-static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1);
-static inline void _X12_constructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
-}
-static inline void _X12_constructorFv_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
-}
-static inline void _X11_destructorFv_S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1){
-}
-static inline struct Agn4 _X16_operator_assignFS4Agn4_S4Agn4S4Agn4_autogen___1(struct Agn4 *_X4_dstS4Agn4_1, struct Agn4 _X4_srcS4Agn4_1){
-    struct Agn4 _X4_retS4Agn4_1;
-    {
-        ((void)_X12_constructorFv_S4Agn4S4Agn4_autogen___1((&_X4_retS4Agn4_1), (*_X4_dstS4Agn4_1)));
-    }
-
-    return _X4_retS4Agn4_1;
-}
-struct Fdl {
-    __attribute__ ((unused)) signed int _X2f1i_1;
-    __attribute__ ((unused)) signed int _X2f2i_1;
-    __attribute__ ((unused,unused)) signed int _X2f3i_1;
-    __attribute__ ((unused)) signed int _X2f4i_1;
-    __attribute__ ((unused,unused)) signed int _X2f5i_1;
-    __attribute__ ((used,packed)) signed int _X2f6i_1;
-    __attribute__ ((used,unused,unused)) signed int _X2f7i_1;
-    __attribute__ ((used,used,unused)) signed int _X2f8i_1;
-    __attribute__ ((unused,unused)) signed int *_X2f9Pi_1;
-};
-static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
-static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
-static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1);
-static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1);
-static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1);
-static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1);
-static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1);
-static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1);
-static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1);
-static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1);
-static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1);
-static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1);
-static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1);
-static inline void _X12_constructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X11_destructorFv_S3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ^?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1) /* ^?{} */);
-    }
-
-}
-static inline struct Fdl _X16_operator_assignFS3Fdl_S3FdlS3Fdl_autogen___1(struct Fdl *_X4_dstS3Fdl_1, struct Fdl _X4_srcS3Fdl_1){
-    struct Fdl _X4_retS3Fdl_1;
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X4_srcS3Fdl_1._X2f1i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X4_srcS3Fdl_1._X2f2i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X4_srcS3Fdl_1._X2f3i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X4_srcS3Fdl_1._X2f4i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X4_srcS3Fdl_1._X2f5i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X4_srcS3Fdl_1._X2f6i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X4_srcS3Fdl_1._X2f7i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X4_srcS3Fdl_1._X2f8i_1));
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X4_srcS3Fdl_1._X2f9Pi_1));
-    }
-
-    {
-        ((void)_X12_constructorFv_S3FdlS3Fdl_autogen___1((&_X4_retS3Fdl_1), (*_X4_dstS3Fdl_1)));
-    }
-
-    return _X4_retS3Fdl_1;
-}
-static inline void _X12_constructorFv_S3Fdli_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdlii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3Fdliiiiiiii_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S3FdliiiiiiiiPi_autogen___1(struct Fdl *_X4_dstS3Fdl_1, __attribute__ ((unused)) signed int _X2f1i_1, __attribute__ ((unused)) signed int _X2f2i_1, __attribute__ ((unused,unused)) signed int _X2f3i_1, __attribute__ ((unused)) signed int _X2f4i_1, __attribute__ ((unused,unused)) signed int _X2f5i_1, signed int _X2f6i_1, __attribute__ ((unused,unused)) signed int _X2f7i_1, __attribute__ ((unused)) signed int _X2f8i_1, __attribute__ ((unused,unused)) signed int *_X2f9Pi_1){
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f1i_1=_X2f1i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f2i_1=_X2f2i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f3i_1=_X2f3i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f4i_1=_X2f4i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f5i_1=_X2f5i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f6i_1=_X2f6i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f7i_1=_X2f7i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f8i_1=_X2f8i_1) /* ?{} */);
-    }
-
-    {
-        ((void)((*_X4_dstS3Fdl_1)._X2f9Pi_1=_X2f9Pi_1) /* ?{} */);
-    }
-
-}
-__attribute__ ((unused)) signed int _X1fFi___1() asm ( "xyz" );
-__attribute__ ((used,used)) const signed int _X3vd1Ki_1;
-__attribute__ ((used,unused)) const signed int _X3vd2Ki_1;
-__attribute__ ((used,used,used,used)) const signed int *_X3vd3PKi_1;
-__attribute__ ((used,used,unused,used,unused)) const signed int *_X3vd4PKi_1;
-__attribute__ ((used,used,used)) const signed int _X3vd5A0Ki_1[((unsigned long int )5)];
-__attribute__ ((used,used,unused,used)) const signed int _X3vd6A0Ki_1[((unsigned long int )5)];
-__attribute__ ((used,used,used,used)) const signed int (*_X3vd7Fi___1)();
-__attribute__ ((used,used,unused,used,used)) const signed int (*_X3vd8Fi___1)();
-__attribute__ ((unused,used)) signed int _X2f1Fi___1();
-__attribute__ ((unused)) signed int _X2f1Fi___1(){
-    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
-}
-__attribute__ ((unused,unused,unused,used)) signed int **const _X2f2FPPi___1();
-__attribute__ ((unused,unused,unused)) signed int **const _X2f2FPPi___1(){
-    __attribute__ ((unused)) signed int **const _X10_retval_f2KPPi_1;
-}
-__attribute__ ((unused,used,unused)) signed int (*_X2f3FPA0i_i__1(signed int __anonymous_object0))[];
-__attribute__ ((unused,unused)) signed int (*_X2f3FPA0i_i__1(signed int _X1pi_1))[]{
-    __attribute__ ((unused)) signed int (*_X10_retval_f3PA0i_1)[];
-}
-__attribute__ ((unused,used,unused)) signed int (*_X2f4FFi_i____1())(signed int __anonymous_object1);
-__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(__attribute__ ((unused)) signed int __anonymous_object2){
-    __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __anonymous_object3);
-}
-signed int _X3vtrFi___1(){
-    __attribute__ ((unused)) signed int _X11_retval_vtri_1;
-    __attribute__ ((unused,unused,used)) signed int _X2t1i_2;
-    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t2PPi_2;
-    __attribute__ ((unused,unused,unused)) signed int _X2t3A0i_2[((unsigned long int )5)];
-    __attribute__ ((unused,unused,unused,unused,unused)) signed int **_X2t4A0PPi_2[((unsigned long int )5)];
-    __attribute__ ((unused,unused,unused)) signed int _X2t5Fi___2();
-    __attribute__ ((unused,unused,unused,unused)) signed int *_X2t6FPi___2();
-}
-signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1);
-signed int _X4ipd1Fi_ii__1(__attribute__ ((unused,unused,unused)) signed int _X1pi_1, __attribute__ ((unused,unused,unused)) signed int _X1qi_1){
-    __attribute__ ((unused)) signed int _X12_retval_ipd1i_1;
-}
-signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
-signed int _X4ipd2Fi_PiPi__1(__attribute__ ((unused,unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
-    __attribute__ ((unused)) signed int _X12_retval_ipd2i_1;
-}
-signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1);
-signed int _X4ipd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *_X1pPi_1, __attribute__ ((unused,unused,unused)) signed int *_X1qPi_1){
-    __attribute__ ((unused)) signed int _X12_retval_ipd3i_1;
-}
-signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)());
-signed int _X4ipd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X1pFi___1)(), __attribute__ ((unused,unused,unused)) signed int (*_X1qFi___1)()){
-    __attribute__ ((unused)) signed int _X12_retval_ipd4i_1;
-}
-signed int _X4tpr1Fi_i__1(__attribute__ ((unused,unused,unused)) signed int _X3Fooi_1);
-signed int _X4tpr2Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) signed int **_X3FooPPi_1);
-signed int _X4tpr3Fi_Pi__1(__attribute__ ((unused,unused,unused)) signed int *_X3FooPi_1);
-signed int _X4tpr4Fi_Fi_Pi___1(__attribute__ ((unused,unused)) signed int (*__anonymous_object4)(__attribute__ ((unused,unused)) signed int __anonymous_object5[((unsigned long int )5)]));
-signed int _X4tpr5Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
-signed int _X4tpr6Fi_Fi____1(__attribute__ ((unused,unused,unused)) signed int (*_X3FooFi___1)());
-signed int _X4tpr7Fi_Fi_Fi_i____1(__attribute__ ((unused,unused)) signed int (*__anonymous_object6)(__attribute__ ((unused)) signed int (*__anonymous_object7)(__attribute__ ((unused,unused)) signed int __anonymous_object8)));
-signed int _X2adFi___1(){
-    __attribute__ ((unused)) signed int _X10_retval_adi_1;
-    __attribute__ ((used,unused)) signed int _X3ad1i_2;
-    __attribute__ ((unused,unused,unused)) signed int *_X3ad2Pi_2;
-    __attribute__ ((unused,unused,unused)) signed int _X3ad3A0i_2[((unsigned long int )5)];
-    __attribute__ ((unused,unused,unused,unused,unused)) signed int (*_X3ad4PA0i_2)[((unsigned long int )10)];
-    __attribute__ ((unused,unused,unused,unused,used)) signed int _X3ad5i_2;
-    __attribute__ ((unused,unused,unused,unused,unused)) signed int _X3ad6Fi___2();
-    {
-        ((void)sizeof(__attribute__ ((unused,unused)) signed int ));
-    }
-
-    {
-        ((void)sizeof(__attribute__ ((unused,unused,unused,unused)) signed int **));
-    }
-
-    {
-        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int [((unsigned long int )5)]));
-    }
-
-    {
-        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int (*)[((unsigned long int )10)]));
-    }
-
-    {
-        ((void)sizeof(__attribute__ ((unused,unused,unused)) signed int ()));
-    }
-
-    struct __attribute__ ((unused)) __anonymous3 {
-        signed int _X1ii_2;
-    };
-    inline void _X12_constructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
-        {
-            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ?{} */);
-        }
-
-    }
-    inline void _X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
-        {
-            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2) /* ?{} */);
-        }
-
-    }
-    inline void _X11_destructorFv_S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2){
-        {
-            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2) /* ^?{} */);
-        }
-
-    }
-    inline struct __anonymous3 _X16_operator_assignFS12__anonymous3_S12__anonymous3S12__anonymous3_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, struct __anonymous3 _X4_srcS12__anonymous3_2){
-        struct __anonymous3 _X4_retS12__anonymous3_2;
-        {
-            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X4_srcS12__anonymous3_2._X1ii_2));
-        }
-
-        {
-            ((void)_X12_constructorFv_S12__anonymous3S12__anonymous3_autogen___2((&_X4_retS12__anonymous3_2), (*_X4_dstS12__anonymous3_2)));
-        }
-
-        return _X4_retS12__anonymous3_2;
-    }
-    inline void _X12_constructorFv_S12__anonymous3i_autogen___2(struct __anonymous3 *_X4_dstS12__anonymous3_2, signed int _X1ii_2){
-        {
-            ((void)((*_X4_dstS12__anonymous3_2)._X1ii_2=_X1ii_2) /* ?{} */);
-        }
-
-    }
-    {
-        ((void)sizeof(struct __anonymous3 ));
-    }
-
-    enum __attribute__ ((unused)) __anonymous4 {
-        _X1RKM12__anonymous4_2,
-    };
-    inline void _X12_constructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
-    }
-    inline void _X12_constructorFv_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
-        {
-            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2) /* ?{} */);
-        }
-
-    }
-    inline void _X11_destructorFv_M12__anonymous4_intrinsic___2(__attribute__ ((unused)) enum __anonymous4 *_X4_dstM12__anonymous4_2){
-    }
-    inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){
-        enum __anonymous4 _X4_retM12__anonymous4_2;
-        {
-            ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
-        }
-
-        {
-            ((void)(_X4_retM12__anonymous4_2=(*_X4_dstM12__anonymous4_2)) /* ?{} */);
-        }
-
-        return _X4_retM12__anonymous4_2;
-    }
-    {
-        ((void)sizeof(enum __anonymous4 ));
-    }
-
-}
-signed int _X4apd1Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object9, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object10);
-signed int _X4apd2Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object11, __attribute__ ((unused,unused,unused,unused)) signed int **__anonymous_object12);
-signed int _X4apd3Fi_PiPi__1(__attribute__ ((unused,unused,unused)) signed int *__anonymous_object13, __attribute__ ((unused,unused,unused)) signed int *__anonymous_object14);
-signed int _X4apd4Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object15)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object16)());
-signed int _X4apd5Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object17)(__attribute__ ((unused)) signed int __anonymous_object18), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object19)(__attribute__ ((unused)) signed int __anonymous_object20));
-signed int _X4apd6Fi_Fi__Fi____1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object21)(), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object22)());
-signed int _X4apd7Fi_Fi_i_Fi_i___1(__attribute__ ((unused,unused,unused)) signed int (*__anonymous_object23)(__attribute__ ((unused)) signed int __anonymous_object24), __attribute__ ((unused,unused,unused)) signed int (*__anonymous_object25)(__attribute__ ((unused)) signed int __anonymous_object26));
-struct Vad {
-    __attribute__ ((unused)) signed int :4;
-    __attribute__ ((unused)) signed int :4;
-    __attribute__ ((unused,unused)) signed int :6;
-};
-static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
-static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
-static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1);
-static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1);
-static inline void _X12_constructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
-}
-static inline void _X12_constructorFv_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
-}
-static inline void _X11_destructorFv_S3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1){
-}
-static inline struct Vad _X16_operator_assignFS3Vad_S3VadS3Vad_autogen___1(struct Vad *_X4_dstS3Vad_1, struct Vad _X4_srcS3Vad_1){
-    struct Vad _X4_retS3Vad_1;
-    {
-        ((void)_X12_constructorFv_S3VadS3Vad_autogen___1((&_X4_retS3Vad_1), (*_X4_dstS3Vad_1)));
-    }
-
-    return _X4_retS3Vad_1;
-}
Index: tests/.expect/functions.nast.x64.txt
===================================================================
--- tests/.expect/functions.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/functions.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,283 @@
+void _X1hFv___1(void){
+}
+signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __param_0), __attribute__ ((unused)) signed int (*__anonymous_object2)(void), __attribute__ ((unused)) signed int (*__anonymous_object3)(signed int __param_0), void (*_X1gFv___1)(void)){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    {
+        ((void)(*_X1gFv___1)());
+    }
+
+    {
+        ((void)_X1gFv___1());
+    }
+
+    {
+        ((void)(_X1gFv___1=_X1hFv___1));
+    }
+
+}
+signed int _X2f1Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+signed int _X2f2Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
+}
+signed int (*_X2f3FFi_____1())(){
+    __attribute__ ((unused)) signed int (*_X10_retval_f3Fi___1)();
+}
+signed int *_X2f4FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f4Pi_1;
+}
+signed int (*_X2f5FFi_____1())(){
+    __attribute__ ((unused)) signed int (*_X10_retval_f5Fi___1)();
+}
+signed int *_X2f6FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f6Pi_1;
+}
+signed int *_X2f7FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f7Pi_1;
+}
+signed int **_X2f8FPPi___1(){
+    __attribute__ ((unused)) signed int **_X10_retval_f8PPi_1;
+}
+signed int *const *_X2f9FPKPi___1(){
+    __attribute__ ((unused)) signed int *const *_X10_retval_f9PKPi_1;
+}
+signed int (*_X3f10FPA0i___1())[]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f10PA0i_1)[];
+}
+signed int (*_X3f11FPA0A0i___1())[][((unsigned long int )3)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0A0i_1)[][((unsigned long int )3)];
+}
+signed int (*_X3f12FPA0A0i___1())[][((unsigned long int )3)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )3)];
+}
+signed int _X4fII1Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X12_retval_fII1i_1;
+}
+const signed int _X4fII2Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X12_retval_fII2Ki_1;
+}
+extern signed int _X4fII3Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X12_retval_fII3i_1;
+}
+extern const signed int _X4fII4Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X12_retval_fII4Ki_1;
+}
+signed int *_X4fII5FPi___1(){
+    __attribute__ ((unused)) signed int *_X12_retval_fII5Pi_1;
+}
+signed int *const _X4fII6FPi___1(){
+    __attribute__ ((unused)) signed int *const _X12_retval_fII6KPi_1;
+}
+const signed long int *_X4fII7FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII7PKl_1;
+}
+static const signed long int *_X4fII8FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII8PKl_1;
+}
+static const signed long int *_X4fII9FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII9PKl_1;
+}
+signed int _X3fO1Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO1i_1;
+}
+signed int _X3fO2Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO2i_1;
+}
+const signed int _X3fO3Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X11_retval_fO3Ki_1;
+}
+extern signed int _X3fO4Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO4i_1;
+}
+extern const signed int _X3fO5Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X11_retval_fO5Ki_1;
+}
+signed int _X1fFi___1(void);
+signed int _X1fFi_i__1(signed int __anonymous_object4);
+signed int _X1fFi___1(void){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi_i__1(__attribute__ ((unused)) signed int __anonymous_object5){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi___1(void);
+struct _tuple2_ {
+};
+static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_Y15tuple_param_2_0, unsigned long int _alignof_Y15tuple_param_2_0, unsigned long int _sizeof_Y15tuple_param_2_1, unsigned long int _alignof_Y15tuple_param_2_1){
+    ((void)((*_sizeof__tuple2_)=0));
+    ((void)((*_alignof__tuple2_)=1));
+    ((void)(_offsetof__tuple2_[0]=(*_sizeof__tuple2_)));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_0));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_0));
+
+    if ( ((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_Y15tuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)))));
+
+    ((void)(_offsetof__tuple2_[1]=(*_sizeof__tuple2_)));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_1));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_1));
+
+    if ( ((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)) ) ((void)((*_sizeof__tuple2_)+=((*_alignof__tuple2_)-((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)))));
+
+}
+struct _conc__tuple2_0;
+struct _conc__tuple2_0 {
+    signed int field_0;
+    signed int field_1;
+};
+struct _conc__tuple2_0 _X1fFT2ii___1(void);
+struct _conc__tuple2_0 _X1fFT2ii_ii__1(signed int __anonymous_object6, signed int _X1xi_1);
+struct _conc__tuple2_0 _X1fFT2ii___1(void){
+    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
+}
+struct _conc__tuple2_0 _X1fFT2ii_ii__1(__attribute__ ((unused)) signed int __anonymous_object7, signed int _X1xi_1){
+    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
+}
+struct _tuple3_ {
+};
+static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, unsigned long int _sizeof_Y15tuple_param_3_0, unsigned long int _alignof_Y15tuple_param_3_0, unsigned long int _sizeof_Y15tuple_param_3_1, unsigned long int _alignof_Y15tuple_param_3_1, unsigned long int _sizeof_Y15tuple_param_3_2, unsigned long int _alignof_Y15tuple_param_3_2){
+    ((void)((*_sizeof__tuple3_)=0));
+    ((void)((*_alignof__tuple3_)=1));
+    ((void)(_offsetof__tuple3_[0]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_0));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_0) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_0));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_1-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)))));
+
+    ((void)(_offsetof__tuple3_[1]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_1));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_1) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_1));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_2-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)))));
+
+    ((void)(_offsetof__tuple3_[2]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_2));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_2) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_2));
+
+    if ( ((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)) ) ((void)((*_sizeof__tuple3_)+=((*_alignof__tuple3_)-((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)))));
+
+}
+struct _conc__tuple3_1;
+struct _conc__tuple3_1 {
+    signed int field_0;
+    signed int field_1;
+    signed int field_2;
+};
+struct _conc__tuple3_1 _X1fFT3iii___1(void);
+struct _conc__tuple3_1 _X1fFT3iii_iii__1(signed int __anonymous_object8, signed int _X1xi_1, signed int __anonymous_object9);
+struct _conc__tuple3_1 _X1fFT3iii___1(void){
+    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
+}
+struct _conc__tuple3_1 _X1fFT3iii_iii__1(__attribute__ ((unused)) signed int __anonymous_object10, signed int _X1xi_1, __attribute__ ((unused)) signed int __anonymous_object11){
+    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
+}
+struct _conc__tuple3_2;
+struct _conc__tuple3_2 {
+    signed int field_0;
+    signed int field_1;
+    signed int *field_2;
+};
+struct _conc__tuple3_2 _X1fFT3iiPi___1(void);
+struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(signed int __anonymous_object12, signed int _X1xi_1, signed int *_X1yPi_1);
+struct _conc__tuple3_2 _X1fFT3iiPi___1(void){
+    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
+}
+struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(__attribute__ ((unused)) signed int __anonymous_object13, signed int _X1xi_1, signed int *_X1yPi_1){
+    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
+}
+signed int _X3f11Fi_i__1(signed int __anonymous_object14);
+signed int _X3f12Fi___1(void);
+const double _X4bar1Fd___1();
+const double _X4bar2Fd_i__1(signed int __anonymous_object15);
+const double _X4bar3Fd_d__1(double __anonymous_object16);
+const double _X3fooFd___1(void);
+const double _X3fooFd_i__1(signed int __anonymous_object17);
+const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object18){
+    __attribute__ ((unused)) const double _X11_retval_fooKd_1;
+    {
+        ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */);
+    }
+
+    return _X11_retval_fooKd_1;
+}
+struct S {
+    signed int _X1ii_1;
+};
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
+    }
+
+}
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    struct S _X4_retS1S_1;
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
+    }
+
+    return _X4_retS1S_1;
+}
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
+    }
+
+}
+struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object19){
+    __attribute__ ((unused)) struct S _X11_retval_rtnS1S_1;
+}
+signed int _X1fFi_Fi_ii_Fi_i___1(__attribute__ ((unused)) signed int (*__anonymous_object20)(signed int __param_0, signed int __param_1), __attribute__ ((unused)) signed int (*__anonymous_object21)(signed int __param_0)){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    signed int (*(*_X2pcPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
+    signed int (*(*_X1pPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
+    signed int (*(*_X1pPA0Fi_i__2)[])(signed int __param_0);
+}
+static const signed int *_X2f1FPKi___1(){
+    __attribute__ ((unused)) const signed int *_X10_retval_f1PKi_1;
+}
+static const signed int *_X2f2FPKi___1(void){
+    __attribute__ ((unused)) const signed int *_X10_retval_f2PKi_1;
+}
+static inline signed int *const _X2f3FPi___1(void){
+    __attribute__ ((unused)) signed int *const _X10_retval_f3KPi_1;
+}
+struct _conc__tuple2_3;
+struct _conc__tuple2_3 {
+    signed int *field_0;
+    signed int field_1;
+};
+static inline const struct _conc__tuple2_3 _X2f4FT2Pii___1(void){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f4KT2Pii_1;
+}
+static const struct _conc__tuple2_3 _X2f5FT2PiKi___1(void){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f5KT2PiKi_1;
+}
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object22)(), signed int *(*__anonymous_object23)(), signed int **(*__anonymous_object24)(), signed int *const *(*__anonymous_object25)(), signed int *const *const (*__anonymous_object26)(), signed int *__anonymous_object27, signed int __anonymous_object28[10], signed int **__anonymous_object29, signed int *__anonymous_object30[10], signed int ***__anonymous_object31, signed int **__anonymous_object32[10], signed int *const **__anonymous_object33, signed int *const *__anonymous_object34[10], signed int *const *const *__anonymous_object35, signed int *const *const __anonymous_object36[10]);
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(__attribute__ ((unused)) signed int (*__anonymous_object37)(), __attribute__ ((unused)) signed int *(*__anonymous_object38)(), __attribute__ ((unused)) signed int **(*__anonymous_object39)(), __attribute__ ((unused)) signed int *const *(*__anonymous_object40)(), __attribute__ ((unused)) signed int *const *const (*__anonymous_object41)(), __attribute__ ((unused)) signed int *__anonymous_object42, __attribute__ ((unused)) signed int __anonymous_object43[10], __attribute__ ((unused)) signed int **__anonymous_object44, __attribute__ ((unused)) signed int *__anonymous_object45[10], __attribute__ ((unused)) signed int ***__anonymous_object46, __attribute__ ((unused)) signed int **__anonymous_object47[10], __attribute__ ((unused)) signed int *const **__anonymous_object48, __attribute__ ((unused)) signed int *const *__anonymous_object49[10], __attribute__ ((unused)) signed int *const *const *__anonymous_object50, __attribute__ ((unused)) signed int *const *const __anonymous_object51[10]){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi_Pii__1(signed int *_X1fPi_1, signed int _X1ti_1){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    signed int _X1Ti_2;
+}
Index: tests/.expect/functions.oast.x64.txt
===================================================================
--- tests/.expect/functions.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/functions.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,283 @@
+void _X1hFv___1(void){
+}
+signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __anonymous_object2), __attribute__ ((unused)) signed int (*__anonymous_object3)(void), __attribute__ ((unused)) signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    {
+        ((void)(*_X1gFv___1)());
+    }
+
+    {
+        ((void)_X1gFv___1());
+    }
+
+    {
+        ((void)(_X1gFv___1=_X1hFv___1));
+    }
+
+}
+signed int _X2f1Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
+}
+signed int _X2f2Fi___1(){
+    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
+}
+signed int (*_X2f3FFi_____1())(){
+    __attribute__ ((unused)) signed int (*_X10_retval_f3Fi___1)();
+}
+signed int *_X2f4FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f4Pi_1;
+}
+signed int (*_X2f5FFi_____1())(){
+    __attribute__ ((unused)) signed int (*_X10_retval_f5Fi___1)();
+}
+signed int *_X2f6FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f6Pi_1;
+}
+signed int *_X2f7FPi___1(){
+    __attribute__ ((unused)) signed int *_X10_retval_f7Pi_1;
+}
+signed int **_X2f8FPPi___1(){
+    __attribute__ ((unused)) signed int **_X10_retval_f8PPi_1;
+}
+signed int *const *_X2f9FPKPi___1(){
+    __attribute__ ((unused)) signed int *const *_X10_retval_f9PKPi_1;
+}
+signed int (*_X3f10FPA0i___1())[]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f10PA0i_1)[];
+}
+signed int (*_X3f11FPA0A0i___1())[][((unsigned long int )3)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0A0i_1)[][((unsigned long int )3)];
+}
+signed int (*_X3f12FPA0A0i___1())[][((unsigned long int )3)]{
+    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )3)];
+}
+signed int _X4fII1Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X12_retval_fII1i_1;
+}
+const signed int _X4fII2Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X12_retval_fII2Ki_1;
+}
+extern signed int _X4fII3Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X12_retval_fII3i_1;
+}
+extern const signed int _X4fII4Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X12_retval_fII4Ki_1;
+}
+signed int *_X4fII5FPi___1(){
+    __attribute__ ((unused)) signed int *_X12_retval_fII5Pi_1;
+}
+signed int *const _X4fII6FPi___1(){
+    __attribute__ ((unused)) signed int *const _X12_retval_fII6KPi_1;
+}
+const signed long int *_X4fII7FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII7PKl_1;
+}
+static const signed long int *_X4fII8FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII8PKl_1;
+}
+static const signed long int *_X4fII9FPKl___1(){
+    __attribute__ ((unused)) const signed long int *_X12_retval_fII9PKl_1;
+}
+signed int _X3fO1Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO1i_1;
+}
+signed int _X3fO2Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO2i_1;
+}
+const signed int _X3fO3Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X11_retval_fO3Ki_1;
+}
+extern signed int _X3fO4Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) signed int _X11_retval_fO4i_1;
+}
+extern const signed int _X3fO5Fi_i__1(signed int _X1ii_1){
+    __attribute__ ((unused)) const signed int _X11_retval_fO5Ki_1;
+}
+signed int _X1fFi___1(void);
+signed int _X1fFi_i__1(signed int __anonymous_object6);
+signed int _X1fFi___1(void){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi_i__1(__attribute__ ((unused)) signed int __anonymous_object7){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi___1(void);
+struct _tuple2_ {
+};
+static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_Y15tuple_param_2_0, unsigned long int _alignof_Y15tuple_param_2_0, unsigned long int _sizeof_Y15tuple_param_2_1, unsigned long int _alignof_Y15tuple_param_2_1){
+    ((void)((*_sizeof__tuple2_)=0));
+    ((void)((*_alignof__tuple2_)=1));
+    ((void)(_offsetof__tuple2_[0]=(*_sizeof__tuple2_)));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_0));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_0));
+
+    if ( ((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_Y15tuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)))));
+
+    ((void)(_offsetof__tuple2_[1]=(*_sizeof__tuple2_)));
+    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_1));
+    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_1));
+
+    if ( ((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)) ) ((void)((*_sizeof__tuple2_)+=((*_alignof__tuple2_)-((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)))));
+
+}
+struct _conc__tuple2_0;
+struct _conc__tuple2_0 {
+    signed int field_0;
+    signed int field_1;
+};
+struct _conc__tuple2_0 _X1fFT2ii___1(void);
+struct _conc__tuple2_0 _X1fFT2ii_ii__1(signed int __anonymous_object8, signed int _X1xi_1);
+struct _conc__tuple2_0 _X1fFT2ii___1(void){
+    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
+}
+struct _conc__tuple2_0 _X1fFT2ii_ii__1(__attribute__ ((unused)) signed int __anonymous_object9, signed int _X1xi_1){
+    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
+}
+struct _tuple3_ {
+};
+static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, unsigned long int _sizeof_Y15tuple_param_3_0, unsigned long int _alignof_Y15tuple_param_3_0, unsigned long int _sizeof_Y15tuple_param_3_1, unsigned long int _alignof_Y15tuple_param_3_1, unsigned long int _sizeof_Y15tuple_param_3_2, unsigned long int _alignof_Y15tuple_param_3_2){
+    ((void)((*_sizeof__tuple3_)=0));
+    ((void)((*_alignof__tuple3_)=1));
+    ((void)(_offsetof__tuple3_[0]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_0));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_0) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_0));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_1-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)))));
+
+    ((void)(_offsetof__tuple3_[1]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_1));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_1) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_1));
+
+    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_2-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)))));
+
+    ((void)(_offsetof__tuple3_[2]=(*_sizeof__tuple3_)));
+    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_2));
+    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_2) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_2));
+
+    if ( ((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)) ) ((void)((*_sizeof__tuple3_)+=((*_alignof__tuple3_)-((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)))));
+
+}
+struct _conc__tuple3_1;
+struct _conc__tuple3_1 {
+    signed int field_0;
+    signed int field_1;
+    signed int field_2;
+};
+struct _conc__tuple3_1 _X1fFT3iii___1(void);
+struct _conc__tuple3_1 _X1fFT3iii_iii__1(signed int __anonymous_object10, signed int _X1xi_1, signed int __anonymous_object11);
+struct _conc__tuple3_1 _X1fFT3iii___1(void){
+    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
+}
+struct _conc__tuple3_1 _X1fFT3iii_iii__1(__attribute__ ((unused)) signed int __anonymous_object12, signed int _X1xi_1, __attribute__ ((unused)) signed int __anonymous_object13){
+    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
+}
+struct _conc__tuple3_2;
+struct _conc__tuple3_2 {
+    signed int field_0;
+    signed int field_1;
+    signed int *field_2;
+};
+struct _conc__tuple3_2 _X1fFT3iiPi___1(void);
+struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(signed int __anonymous_object14, signed int _X1xi_1, signed int *_X1yPi_1);
+struct _conc__tuple3_2 _X1fFT3iiPi___1(void){
+    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
+}
+struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(__attribute__ ((unused)) signed int __anonymous_object15, signed int _X1xi_1, signed int *_X1yPi_1){
+    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
+}
+signed int _X3f11Fi_i__1(signed int __anonymous_object16);
+signed int _X3f12Fi___1(void);
+const double _X4bar1Fd___1();
+const double _X4bar2Fd_i__1(signed int __anonymous_object17);
+const double _X4bar3Fd_d__1(double __anonymous_object18);
+const double _X3fooFd___1(void);
+const double _X3fooFd_i__1(signed int __anonymous_object19);
+const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object20){
+    __attribute__ ((unused)) const double _X11_retval_fooKd_1;
+    {
+        ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */);
+    }
+
+    return _X11_retval_fooKd_1;
+}
+struct S {
+    signed int _X1ii_1;
+};
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
+static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
+    }
+
+}
+static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
+    }
+
+}
+static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
+    struct S _X4_retS1S_1;
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
+    }
+
+    {
+        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
+    }
+
+    return _X4_retS1S_1;
+}
+static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
+    {
+        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
+    }
+
+}
+struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object21){
+    __attribute__ ((unused)) struct S _X11_retval_rtnS1S_1;
+}
+signed int _X1fFi_Fi_ii_Fi_i___1(__attribute__ ((unused)) signed int (*__anonymous_object22)(signed int __anonymous_object23, signed int _X1pi_1), __attribute__ ((unused)) signed int (*__anonymous_object24)(signed int __anonymous_object25)){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    signed int (*(*_X2pcPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
+    signed int (*(*_X1pPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
+    signed int (*(*_X1pPA0Fi_i__2)[])(signed int __anonymous_object26);
+}
+static const signed int *_X2f1FPKi___1(){
+    __attribute__ ((unused)) const signed int *_X10_retval_f1PKi_1;
+}
+static const signed int *_X2f2FPKi___1(void){
+    __attribute__ ((unused)) const signed int *_X10_retval_f2PKi_1;
+}
+static inline signed int *const _X2f3FPi___1(void){
+    __attribute__ ((unused)) signed int *const _X10_retval_f3KPi_1;
+}
+struct _conc__tuple2_3;
+struct _conc__tuple2_3 {
+    signed int *field_0;
+    signed int field_1;
+};
+static inline const struct _conc__tuple2_3 _X2f4FT2Pii___1(void){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f4KT2Pii_1;
+}
+static const struct _conc__tuple2_3 _X2f5FT2PiKi___1(void){
+    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f5KT2PiKi_1;
+}
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object27)(), signed int *(*__anonymous_object28)(), signed int **(*__anonymous_object29)(), signed int *const *(*__anonymous_object30)(), signed int *const *const (*__anonymous_object31)(), signed int *__anonymous_object32, signed int __anonymous_object33[((unsigned long int )10)], signed int **__anonymous_object34, signed int *__anonymous_object35[((unsigned long int )10)], signed int ***__anonymous_object36, signed int **__anonymous_object37[((unsigned long int )10)], signed int *const **__anonymous_object38, signed int *const *__anonymous_object39[((unsigned long int )10)], signed int *const *const *__anonymous_object40, signed int *const *const __anonymous_object41[((unsigned long int )10)]);
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(__attribute__ ((unused)) signed int (*__anonymous_object42)(), __attribute__ ((unused)) signed int *(*__anonymous_object43)(), __attribute__ ((unused)) signed int **(*__anonymous_object44)(), __attribute__ ((unused)) signed int *const *(*__anonymous_object45)(), __attribute__ ((unused)) signed int *const *const (*__anonymous_object46)(), __attribute__ ((unused)) signed int *__anonymous_object47, __attribute__ ((unused)) signed int __anonymous_object48[((unsigned long int )10)], __attribute__ ((unused)) signed int **__anonymous_object49, __attribute__ ((unused)) signed int *__anonymous_object50[((unsigned long int )10)], __attribute__ ((unused)) signed int ***__anonymous_object51, __attribute__ ((unused)) signed int **__anonymous_object52[((unsigned long int )10)], __attribute__ ((unused)) signed int *const **__anonymous_object53, __attribute__ ((unused)) signed int *const *__anonymous_object54[((unsigned long int )10)], __attribute__ ((unused)) signed int *const *const *__anonymous_object55, __attribute__ ((unused)) signed int *const *const __anonymous_object56[((unsigned long int )10)]){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+}
+signed int _X1fFi_Pii__1(signed int *_X1fPi_1, signed int _X1ti_1){
+    __attribute__ ((unused)) signed int _X9_retval_fi_1;
+    signed int _X1Ti_2;
+}
Index: sts/.expect/functions.x64.txt
===================================================================
--- tests/.expect/functions.x64.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,283 +1,0 @@
-void _X1hFv___1(void){
-}
-signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __anonymous_object2), __attribute__ ((unused)) signed int (*__anonymous_object3)(void), __attribute__ ((unused)) signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-    {
-        ((void)(*_X1gFv___1)());
-    }
-
-    {
-        ((void)_X1gFv___1());
-    }
-
-    {
-        ((void)(_X1gFv___1=_X1hFv___1));
-    }
-
-}
-signed int _X2f1Fi___1(){
-    __attribute__ ((unused)) signed int _X10_retval_f1i_1;
-}
-signed int _X2f2Fi___1(){
-    __attribute__ ((unused)) signed int _X10_retval_f2i_1;
-}
-signed int (*_X2f3FFi_____1())(){
-    __attribute__ ((unused)) signed int (*_X10_retval_f3Fi___1)();
-}
-signed int *_X2f4FPi___1(){
-    __attribute__ ((unused)) signed int *_X10_retval_f4Pi_1;
-}
-signed int (*_X2f5FFi_____1())(){
-    __attribute__ ((unused)) signed int (*_X10_retval_f5Fi___1)();
-}
-signed int *_X2f6FPi___1(){
-    __attribute__ ((unused)) signed int *_X10_retval_f6Pi_1;
-}
-signed int *_X2f7FPi___1(){
-    __attribute__ ((unused)) signed int *_X10_retval_f7Pi_1;
-}
-signed int **_X2f8FPPi___1(){
-    __attribute__ ((unused)) signed int **_X10_retval_f8PPi_1;
-}
-signed int *const *_X2f9FPKPi___1(){
-    __attribute__ ((unused)) signed int *const *_X10_retval_f9PKPi_1;
-}
-signed int (*_X3f10FPA0i___1())[]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f10PA0i_1)[];
-}
-signed int (*_X3f11FPA0A0i___1())[][((unsigned long int )3)]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f11PA0A0i_1)[][((unsigned long int )3)];
-}
-signed int (*_X3f12FPA0A0i___1())[][((unsigned long int )3)]{
-    __attribute__ ((unused)) signed int (*_X11_retval_f12PA0A0i_1)[][((unsigned long int )3)];
-}
-signed int _X4fII1Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) signed int _X12_retval_fII1i_1;
-}
-const signed int _X4fII2Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X12_retval_fII2Ki_1;
-}
-extern signed int _X4fII3Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) signed int _X12_retval_fII3i_1;
-}
-extern const signed int _X4fII4Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X12_retval_fII4Ki_1;
-}
-signed int *_X4fII5FPi___1(){
-    __attribute__ ((unused)) signed int *_X12_retval_fII5Pi_1;
-}
-signed int *const _X4fII6FPi___1(){
-    __attribute__ ((unused)) signed int *const _X12_retval_fII6KPi_1;
-}
-const signed long int *_X4fII7FPKl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII7PKl_1;
-}
-static const signed long int *_X4fII8FPKl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII8PKl_1;
-}
-static const signed long int *_X4fII9FPKl___1(){
-    __attribute__ ((unused)) const signed long int *_X12_retval_fII9PKl_1;
-}
-signed int _X3fO1Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) signed int _X11_retval_fO1i_1;
-}
-signed int _X3fO2Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) signed int _X11_retval_fO2i_1;
-}
-const signed int _X3fO3Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X11_retval_fO3Ki_1;
-}
-extern signed int _X3fO4Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) signed int _X11_retval_fO4i_1;
-}
-extern const signed int _X3fO5Fi_i__1(signed int _X1ii_1){
-    __attribute__ ((unused)) const signed int _X11_retval_fO5Ki_1;
-}
-signed int _X1fFi___1(void);
-signed int _X1fFi_i__1(signed int __anonymous_object6);
-signed int _X1fFi___1(void){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-}
-signed int _X1fFi_i__1(__attribute__ ((unused)) signed int __anonymous_object7){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-}
-signed int _X1fFi___1(void);
-struct _tuple2_ {
-};
-static inline void _layoutof__tuple2_(unsigned long int *_sizeof__tuple2_, unsigned long int *_alignof__tuple2_, unsigned long int *_offsetof__tuple2_, unsigned long int _sizeof_Y15tuple_param_2_0, unsigned long int _alignof_Y15tuple_param_2_0, unsigned long int _sizeof_Y15tuple_param_2_1, unsigned long int _alignof_Y15tuple_param_2_1){
-    ((void)((*_sizeof__tuple2_)=0));
-    ((void)((*_alignof__tuple2_)=1));
-    ((void)(_offsetof__tuple2_[0]=(*_sizeof__tuple2_)));
-    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_0));
-    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_0) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_0));
-
-    if ( ((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)) ) ((void)((*_sizeof__tuple2_)+=(_alignof_Y15tuple_param_2_1-((*_sizeof__tuple2_)&(_alignof_Y15tuple_param_2_1-1)))));
-
-    ((void)(_offsetof__tuple2_[1]=(*_sizeof__tuple2_)));
-    ((void)((*_sizeof__tuple2_)+=_sizeof_Y15tuple_param_2_1));
-    if ( ((*_alignof__tuple2_)<_alignof_Y15tuple_param_2_1) ) ((void)((*_alignof__tuple2_)=_alignof_Y15tuple_param_2_1));
-
-    if ( ((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)) ) ((void)((*_sizeof__tuple2_)+=((*_alignof__tuple2_)-((*_sizeof__tuple2_)&((*_alignof__tuple2_)-1)))));
-
-}
-struct _conc__tuple2_0;
-struct _conc__tuple2_0 {
-    signed int field_0;
-    signed int field_1;
-};
-struct _conc__tuple2_0 _X1fFT2ii___1(void);
-struct _conc__tuple2_0 _X1fFT2ii_ii__1(signed int __anonymous_object8, signed int _X1xi_1);
-struct _conc__tuple2_0 _X1fFT2ii___1(void){
-    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
-}
-struct _conc__tuple2_0 _X1fFT2ii_ii__1(__attribute__ ((unused)) signed int __anonymous_object9, signed int _X1xi_1){
-    __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
-}
-struct _tuple3_ {
-};
-static inline void _layoutof__tuple3_(unsigned long int *_sizeof__tuple3_, unsigned long int *_alignof__tuple3_, unsigned long int *_offsetof__tuple3_, unsigned long int _sizeof_Y15tuple_param_3_0, unsigned long int _alignof_Y15tuple_param_3_0, unsigned long int _sizeof_Y15tuple_param_3_1, unsigned long int _alignof_Y15tuple_param_3_1, unsigned long int _sizeof_Y15tuple_param_3_2, unsigned long int _alignof_Y15tuple_param_3_2){
-    ((void)((*_sizeof__tuple3_)=0));
-    ((void)((*_alignof__tuple3_)=1));
-    ((void)(_offsetof__tuple3_[0]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_0));
-    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_0) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_0));
-
-    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_1-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_1-1)))));
-
-    ((void)(_offsetof__tuple3_[1]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_1));
-    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_1) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_1));
-
-    if ( ((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)) ) ((void)((*_sizeof__tuple3_)+=(_alignof_Y15tuple_param_3_2-((*_sizeof__tuple3_)&(_alignof_Y15tuple_param_3_2-1)))));
-
-    ((void)(_offsetof__tuple3_[2]=(*_sizeof__tuple3_)));
-    ((void)((*_sizeof__tuple3_)+=_sizeof_Y15tuple_param_3_2));
-    if ( ((*_alignof__tuple3_)<_alignof_Y15tuple_param_3_2) ) ((void)((*_alignof__tuple3_)=_alignof_Y15tuple_param_3_2));
-
-    if ( ((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)) ) ((void)((*_sizeof__tuple3_)+=((*_alignof__tuple3_)-((*_sizeof__tuple3_)&((*_alignof__tuple3_)-1)))));
-
-}
-struct _conc__tuple3_1;
-struct _conc__tuple3_1 {
-    signed int field_0;
-    signed int field_1;
-    signed int field_2;
-};
-struct _conc__tuple3_1 _X1fFT3iii___1(void);
-struct _conc__tuple3_1 _X1fFT3iii_iii__1(signed int __anonymous_object10, signed int _X1xi_1, signed int __anonymous_object11);
-struct _conc__tuple3_1 _X1fFT3iii___1(void){
-    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
-}
-struct _conc__tuple3_1 _X1fFT3iii_iii__1(__attribute__ ((unused)) signed int __anonymous_object12, signed int _X1xi_1, __attribute__ ((unused)) signed int __anonymous_object13){
-    __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
-}
-struct _conc__tuple3_2;
-struct _conc__tuple3_2 {
-    signed int field_0;
-    signed int field_1;
-    signed int *field_2;
-};
-struct _conc__tuple3_2 _X1fFT3iiPi___1(void);
-struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(signed int __anonymous_object14, signed int _X1xi_1, signed int *_X1yPi_1);
-struct _conc__tuple3_2 _X1fFT3iiPi___1(void){
-    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
-}
-struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(__attribute__ ((unused)) signed int __anonymous_object15, signed int _X1xi_1, signed int *_X1yPi_1){
-    __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
-}
-signed int _X3f11Fi_i__1(signed int __anonymous_object16);
-signed int _X3f12Fi___1(void);
-const double _X4bar1Fd___1();
-const double _X4bar2Fd_i__1(signed int __anonymous_object17);
-const double _X4bar3Fd_d__1(double __anonymous_object18);
-const double _X3fooFd___1(void);
-const double _X3fooFd_i__1(signed int __anonymous_object19);
-const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object20){
-    __attribute__ ((unused)) const double _X11_retval_fooKd_1;
-    {
-        ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */);
-    }
-
-    return _X11_retval_fooKd_1;
-}
-struct S {
-    signed int _X1ii_1;
-};
-static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
-static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
-static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1);
-static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1);
-static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1);
-static inline void _X12_constructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ?{} */);
-    }
-
-}
-static inline void _X12_constructorFv_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1) /* ?{} */);
-    }
-
-}
-static inline void _X11_destructorFv_S1S_autogen___1(struct S *_X4_dstS1S_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1) /* ^?{} */);
-    }
-
-}
-static inline struct S _X16_operator_assignFS1S_S1SS1S_autogen___1(struct S *_X4_dstS1S_1, struct S _X4_srcS1S_1){
-    struct S _X4_retS1S_1;
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X4_srcS1S_1._X1ii_1));
-    }
-
-    {
-        ((void)_X12_constructorFv_S1SS1S_autogen___1((&_X4_retS1S_1), (*_X4_dstS1S_1)));
-    }
-
-    return _X4_retS1S_1;
-}
-static inline void _X12_constructorFv_S1Si_autogen___1(struct S *_X4_dstS1S_1, signed int _X1ii_1){
-    {
-        ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
-    }
-
-}
-struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object21){
-    __attribute__ ((unused)) struct S _X11_retval_rtnS1S_1;
-}
-signed int _X1fFi_Fi_ii_Fi_i___1(__attribute__ ((unused)) signed int (*__anonymous_object22)(signed int __anonymous_object23, signed int _X1pi_1), __attribute__ ((unused)) signed int (*__anonymous_object24)(signed int __anonymous_object25)){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-    signed int (*(*_X2pcPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
-    signed int (*(*_X1pPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
-    signed int (*(*_X1pPA0Fi_i__2)[])(signed int __anonymous_object26);
-}
-static const signed int *_X2f1FPKi___1(){
-    __attribute__ ((unused)) const signed int *_X10_retval_f1PKi_1;
-}
-static const signed int *_X2f2FPKi___1(void){
-    __attribute__ ((unused)) const signed int *_X10_retval_f2PKi_1;
-}
-static inline signed int *const _X2f3FPi___1(void){
-    __attribute__ ((unused)) signed int *const _X10_retval_f3KPi_1;
-}
-struct _conc__tuple2_3;
-struct _conc__tuple2_3 {
-    signed int *field_0;
-    signed int field_1;
-};
-static inline const struct _conc__tuple2_3 _X2f4FT2Pii___1(void){
-    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f4KT2Pii_1;
-}
-static const struct _conc__tuple2_3 _X2f5FT2PiKi___1(void){
-    __attribute__ ((unused)) const struct _conc__tuple2_3 _X10_retval_f5KT2PiKi_1;
-}
-signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object27)(), signed int *(*__anonymous_object28)(), signed int **(*__anonymous_object29)(), signed int *const *(*__anonymous_object30)(), signed int *const *const (*__anonymous_object31)(), signed int *__anonymous_object32, signed int __anonymous_object33[((unsigned long int )10)], signed int **__anonymous_object34, signed int *__anonymous_object35[((unsigned long int )10)], signed int ***__anonymous_object36, signed int **__anonymous_object37[((unsigned long int )10)], signed int *const **__anonymous_object38, signed int *const *__anonymous_object39[((unsigned long int )10)], signed int *const *const *__anonymous_object40, signed int *const *const __anonymous_object41[((unsigned long int )10)]);
-signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(__attribute__ ((unused)) signed int (*__anonymous_object42)(), __attribute__ ((unused)) signed int *(*__anonymous_object43)(), __attribute__ ((unused)) signed int **(*__anonymous_object44)(), __attribute__ ((unused)) signed int *const *(*__anonymous_object45)(), __attribute__ ((unused)) signed int *const *const (*__anonymous_object46)(), __attribute__ ((unused)) signed int *__anonymous_object47, __attribute__ ((unused)) signed int __anonymous_object48[((unsigned long int )10)], __attribute__ ((unused)) signed int **__anonymous_object49, __attribute__ ((unused)) signed int *__anonymous_object50[((unsigned long int )10)], __attribute__ ((unused)) signed int ***__anonymous_object51, __attribute__ ((unused)) signed int **__anonymous_object52[((unsigned long int )10)], __attribute__ ((unused)) signed int *const **__anonymous_object53, __attribute__ ((unused)) signed int *const *__anonymous_object54[((unsigned long int )10)], __attribute__ ((unused)) signed int *const *const *__anonymous_object55, __attribute__ ((unused)) signed int *const *const __anonymous_object56[((unsigned long int )10)]){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-}
-signed int _X1fFi_Pii__1(signed int *_X1fPi_1, signed int _X1ti_1){
-    __attribute__ ((unused)) signed int _X9_retval_fi_1;
-    signed int _X1Ti_2;
-}
Index: tests/.expect/init1-ERROR.nast.txt
===================================================================
--- tests/.expect/init1-ERROR.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/init1-ERROR.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,47 @@
+init1.cfa:56:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+  Name: rx  InitAlternative: reference to signed int
+init1.cfa:57:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+  Name: px  InitAlternative: pointer to signed int
+init1.cfa:60:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+  Name: crx  InitAlternative: reference to float
+init1.cfa:61:1 error: Invalid application of existing declaration(s) in expression Untyped Init Expression
+  Name: cpx  InitAlternative: pointer to float
+init1.cfa:104:1 error: Invalid application of existing declaration(s) in expression Generated Cast of:
+  Name: rx
+... to:
+  reference to signed int
+init1.cfa:107:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_f_py: pointer to signed int
+  ... to:
+    reference to pointer to signed int
+  Name: px
+
+init1.cfa:114:1 error: Invalid application of existing declaration(s) in expression Generated Cast of:
+  Name: crx
+... to:
+  reference to float
+init1.cfa:117:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_f_py2: pointer to float
+  ... to:
+    reference to pointer to float
+  Name: cpx
+
+init1.cfa:124:1 error: Invalid application of existing declaration(s) in expression Generated Cast of:
+  Name: s
+... to:
+  reference to instance of type T (not function type)
+init1.cfa:128:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_anycvt: pointer to instance of type T (not function type)
+  ... to:
+    reference to pointer to instance of type T (not function type)
+  Name: s
+
Index: tests/.expect/init1-ERROR.oast.txt
===================================================================
--- tests/.expect/init1-ERROR.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/.expect/init1-ERROR.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,47 @@
+error: No reasonable alternatives for expression Untyped Init Expression
+  Name: rx  InitAlternative: reference to signed int
+error: No reasonable alternatives for expression Untyped Init Expression
+  Name: px  InitAlternative: pointer to signed int
+error: No reasonable alternatives for expression Untyped Init Expression
+  Name: crx  InitAlternative: reference to float
+error: No reasonable alternatives for expression Untyped Init Expression
+  Name: cpx  InitAlternative: pointer to float
+init1.cfa:104:1 error: No reasonable alternatives for expression Generated Cast of:
+  Name: rx
+... to:
+  reference to signed int
+init1.cfa:107:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_f_py: pointer to signed int
+  ... to:
+    reference to pointer to signed int
+  Name: px
+
+init1.cfa:114:1 error: No reasonable alternatives for expression Generated Cast of:
+  Name: crx
+... to:
+  reference to float
+init1.cfa:117:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_f_py2: pointer to float
+  ... to:
+    reference to pointer to float
+  Name: cpx
+
+init1.cfa:124:1 error: No reasonable alternatives for expression Generated Cast of:
+  Name: s
+... to:
+  reference to instance of type T (not function type)
+init1.cfa:128:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: ?{}
+...to:
+  Generated Cast of:
+    Variable Expression: _retval_anycvt: pointer to instance of type T (not function type)
+  ... to:
+    reference to pointer to instance of type T (not function type)
+  Name: s
+
Index: sts/.expect/init1-ERROR.txt
===================================================================
--- tests/.expect/init1-ERROR.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,47 +1,0 @@
-error: No reasonable alternatives for expression Untyped Init Expression
-  Name: rx  InitAlternative: reference to signed int
-error: No reasonable alternatives for expression Untyped Init Expression
-  Name: px  InitAlternative: pointer to signed int
-error: No reasonable alternatives for expression Untyped Init Expression
-  Name: crx  InitAlternative: reference to float
-error: No reasonable alternatives for expression Untyped Init Expression
-  Name: cpx  InitAlternative: pointer to float
-init1.cfa:104:1 error: No reasonable alternatives for expression Generated Cast of:
-  Name: rx
-... to:
-  reference to signed int
-init1.cfa:107:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: _retval_f_py: pointer to signed int
-  ... to:
-    reference to pointer to signed int
-  Name: px
-
-init1.cfa:114:1 error: No reasonable alternatives for expression Generated Cast of:
-  Name: crx
-... to:
-  reference to float
-init1.cfa:117:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: _retval_f_py2: pointer to float
-  ... to:
-    reference to pointer to float
-  Name: cpx
-
-init1.cfa:124:1 error: No reasonable alternatives for expression Generated Cast of:
-  Name: s
-... to:
-  reference to instance of type T (not function type)
-init1.cfa:128:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: _retval_anycvt: pointer to instance of type T (not function type)
-  ... to:
-    reference to pointer to instance of type T (not function type)
-  Name: s
-
Index: tests/errors/.expect/completeType.nast.x64.txt
===================================================================
--- tests/errors/.expect/completeType.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/errors/.expect/completeType.nast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,130 @@
+errors/completeType.cfa:34:1 error: Cannot choose between 2 alternatives for expression
+Generated Cast of:
+  Applying untyped:
+    Name: *?
+  ...to:
+    Name: x
+
+... to: nothing Alternatives are:
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+      Application of
+        Variable Expression: *?: forall
+          DT: data type
+          function
+        ... with parameters
+          pointer to instance of type DT (not function type)
+        ... returning
+          reference to instance of type DT (not function type)
+
+        ... to arguments
+        Variable Expression: x: pointer to instance of struct B with body
+
+    ... to: nothing
+  (types:
+    void
+  )
+  Environment:( _99_2_DT ) -> instance of struct B with body (no widening)
+
+
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+      Application of
+        Variable Expression: *?: forall
+          DT: data type
+          function
+        ... with parameters
+          pointer to instance of type DT (not function type)
+        ... returning
+          reference to instance of type DT (not function type)
+
+        ... to arguments
+        Variable Expression: x: pointer to instance of struct A without body
+
+    ... to: nothing
+  (types:
+    void
+  )
+  Environment:( _99_2_DT ) -> instance of struct A without body (no widening)
+
+
+
+errors/completeType.cfa:35:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: foo
+...to:
+  Name: v
+
+errors/completeType.cfa:36:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: baz
+...to:
+  Name: v
+
+errors/completeType.cfa:37:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: quux
+...to:
+  Name: v
+
+errors/completeType.cfa:59:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: baz
+...to:
+  Name: y
+
+errors/completeType.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
+  Name: quux
+...to:
+  Name: y
+
+errors/completeType.cfa:72:1 error: No alternatives with satisfiable assertions for Applying untyped:
+  Name: baz
+...to:
+  Name: z
+
+      Unsatisfiable alternative:
+Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
+            Variable Expression: baz: forall
+              T: sized data type
+              ... with assertions
+                ?=?: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                  instance of type T (not function type)
+                ... returning
+                  instance of type T (not function type)
+
+                ?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                ... returning nothing
+
+                ?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                  instance of type T (not function type)
+                ... returning nothing
+
+                ^?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                ... returning nothing
+
+
+              function
+            ... with parameters
+              pointer to instance of type T (not function type)
+            ... returning nothing
+
+            ... to arguments
+            Variable Expression: z: pointer to instance of type T (not function type)
+          with 1 pending inference slots
+
+        (types:
+          void
+        )
+        Environment:( _118_0_T ) -> instance of type T (not function type) (no widening)
+
+      Could not satisfy assertion:
+?=?: pointer to function
+        ... with parameters
+          reference to instance of type _118_0_T (not function type)
+          instance of type _118_0_T (not function type)
+        ... returning
+          instance of type _118_0_T (not function type)
+
Index: tests/errors/.expect/completeType.oast.x64.txt
===================================================================
--- tests/errors/.expect/completeType.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/errors/.expect/completeType.oast.x64.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,141 @@
+errors/completeType.cfa:34:1 error: Cannot choose between 2 alternatives for expression
+Generated Cast of:
+  Applying untyped:
+    Name: *?
+  ...to:
+    Name: x
+
+... to: nothing Alternatives are:
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+      Application of
+        Variable Expression: *?: forall
+          DT: data type
+          function
+        ... with parameters
+          intrinsic pointer to instance of type DT (not function type)
+        ... returning
+          _retval__operator_deref: reference to instance of type DT (not function type)
+          ... with attributes:
+            Attribute with name: unused
+
+
+      ... to arguments
+        Variable Expression: x: pointer to instance of struct A with body 0
+
+    ... to: nothing
+  (types:
+    void 
+  )
+  Environment: -> instance of struct A with body 0 (no widening)
+
+
+Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
+      Application of
+        Variable Expression: *?: forall
+          DT: data type
+          function
+        ... with parameters
+          intrinsic pointer to instance of type DT (not function type)
+        ... returning
+          _retval__operator_deref: reference to instance of type DT (not function type)
+          ... with attributes:
+            Attribute with name: unused
+
+
+      ... to arguments
+        Variable Expression: x: pointer to instance of struct B with body 1
+
+    ... to: nothing
+  (types:
+    void 
+  )
+  Environment: -> instance of struct B with body 1 (no widening)
+
+
+
+errors/completeType.cfa:35:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: foo
+...to:
+  Name: v
+
+errors/completeType.cfa:36:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: baz
+...to:
+  Name: v
+
+errors/completeType.cfa:37:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: quux
+...to:
+  Name: v
+
+errors/completeType.cfa:59:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: baz
+...to:
+  Name: y
+
+errors/completeType.cfa:60:1 error: No reasonable alternatives for expression Applying untyped:
+  Name: quux
+...to:
+  Name: y
+
+errors/completeType.cfa:72:1 error: No alternatives with satisfiable assertions for Applying untyped:
+  Name: baz
+...to:
+  Name: z
+
+      Unsatisfiable alternative:
+Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
+            Variable Expression: baz: forall
+              T: sized data type
+              ... with assertions
+                ?=?: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                  instance of type T (not function type)
+                ... returning
+                  _retval__operator_assign: instance of type T (not function type)
+                  ... with attributes:
+                    Attribute with name: unused
+
+
+                ?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                ... returning nothing
+
+                ?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                  instance of type T (not function type)
+                ... returning nothing
+
+                ^?{}: pointer to function
+                ... with parameters
+                  reference to instance of type T (not function type)
+                ... returning nothing
+
+
+              function
+            ... with parameters
+              pointer to instance of type T (not function type)
+            ... returning nothing
+
+          ... to arguments
+            Variable Expression: z: pointer to instance of type T (not function type)
+
+        (types:
+          void 
+        )
+        Environment: -> instance of type T (not function type) (no widening)
+
+      Could not satisfy assertion:
+?=?: pointer to function
+        ... with parameters
+          reference to instance of type _110_0_T (not function type)
+          instance of type _110_0_T (not function type)
+        ... returning
+          _retval__operator_assign: instance of type _110_0_T (not function type)
+          ... with attributes:
+            Attribute with name: unused
+
+
Index: sts/errors/.expect/completeType.x64.txt
===================================================================
--- tests/errors/.expect/completeType.x64.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,141 +1,0 @@
-errors/completeType.cfa:34:1 error: Cannot choose between 2 alternatives for expression
-Generated Cast of:
-  Applying untyped:
-    Name: *?
-  ...to:
-    Name: x
-
-... to: nothing Alternatives are:
-Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
-      Application of
-        Variable Expression: *?: forall
-          DT: data type
-          function
-        ... with parameters
-          intrinsic pointer to instance of type DT (not function type)
-        ... returning
-          _retval__operator_deref: reference to instance of type DT (not function type)
-          ... with attributes:
-            Attribute with name: unused
-
-
-      ... to arguments
-        Variable Expression: x: pointer to instance of struct A with body 0
-
-    ... to: nothing
-  (types:
-    void 
-  )
-  Environment: -> instance of struct A with body 0 (no widening)
-
-
-Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
-      Application of
-        Variable Expression: *?: forall
-          DT: data type
-          function
-        ... with parameters
-          intrinsic pointer to instance of type DT (not function type)
-        ... returning
-          _retval__operator_deref: reference to instance of type DT (not function type)
-          ... with attributes:
-            Attribute with name: unused
-
-
-      ... to arguments
-        Variable Expression: x: pointer to instance of struct B with body 1
-
-    ... to: nothing
-  (types:
-    void 
-  )
-  Environment: -> instance of struct B with body 1 (no widening)
-
-
-
-errors/completeType.cfa:35:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: foo
-...to:
-  Name: v
-
-errors/completeType.cfa:36:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: baz
-...to:
-  Name: v
-
-errors/completeType.cfa:37:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: quux
-...to:
-  Name: v
-
-errors/completeType.cfa:59:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: baz
-...to:
-  Name: y
-
-errors/completeType.cfa:60:1 error: No reasonable alternatives for expression Applying untyped:
-  Name: quux
-...to:
-  Name: y
-
-errors/completeType.cfa:72:1 error: No alternatives with satisfiable assertions for Applying untyped:
-  Name: baz
-...to:
-  Name: z
-
-      Unsatisfiable alternative:
-Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
-            Variable Expression: baz: forall
-              T: sized data type
-              ... with assertions
-                ?=?: pointer to function
-                ... with parameters
-                  reference to instance of type T (not function type)
-                  instance of type T (not function type)
-                ... returning
-                  _retval__operator_assign: instance of type T (not function type)
-                  ... with attributes:
-                    Attribute with name: unused
-
-
-                ?{}: pointer to function
-                ... with parameters
-                  reference to instance of type T (not function type)
-                ... returning nothing
-
-                ?{}: pointer to function
-                ... with parameters
-                  reference to instance of type T (not function type)
-                  instance of type T (not function type)
-                ... returning nothing
-
-                ^?{}: pointer to function
-                ... with parameters
-                  reference to instance of type T (not function type)
-                ... returning nothing
-
-
-              function
-            ... with parameters
-              pointer to instance of type T (not function type)
-            ... returning nothing
-
-          ... to arguments
-            Variable Expression: z: pointer to instance of type T (not function type)
-
-        (types:
-          void 
-        )
-        Environment: -> instance of type T (not function type) (no widening)
-
-      Could not satisfy assertion:
-?=?: pointer to function
-        ... with parameters
-          reference to instance of type _110_0_T (not function type)
-          instance of type _110_0_T (not function type)
-        ... returning
-          _retval__operator_assign: instance of type _110_0_T (not function type)
-          ... with attributes:
-            Attribute with name: unused
-
-
Index: tests/raii/.expect/ctor-autogen-ERR1.nast.txt
===================================================================
--- tests/raii/.expect/ctor-autogen-ERR1.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/raii/.expect/ctor-autogen-ERR1.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,53 @@
+raii/ctor-autogen.cfa:102:1 error: Unique best alternative includes deleted identifier in Generated Cast of:
+  Application of
+    Deleted Expression
+      Variable Expression: ?{}: static inline function
+      ... with parameters
+        reference to instance of struct Managed with body
+        signed int
+      ... returning nothing
+
+      ... deleted by: ?{}: function
+      ... with parameters
+        reference to instance of struct Managed with body
+      ... returning nothing
+ with body
+        Compound Statement:
+          Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+              ... with parameters
+                reference to signed int
+                signed int
+              ... returning
+                signed int
+
+              ... to arguments
+              Generated Cast of:
+                Member Expression, with field:
+                  x: signed int
+                ... from aggregate:
+                  Generated Cast of:
+                    Variable Expression: m: reference to instance of struct Managed with body
+                  ... to:
+                    instance of struct Managed with body
+              ... to:
+                reference to signed int
+              Generated Cast of:
+                Constant Expression (0: zero_t)
+              ... to:
+                signed int
+
+            ... with environment:
+              Types:
+              Non-types:
+
+
+    ... to arguments
+    Generated Cast of:
+      Variable Expression: x: instance of struct Managed with body
+    ... to:
+      reference to instance of struct Managed with body
+    Constant Expression (123: signed int)
+
+... to: nothing
Index: tests/raii/.expect/ctor-autogen-ERR1.oast.txt
===================================================================
--- tests/raii/.expect/ctor-autogen-ERR1.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/raii/.expect/ctor-autogen-ERR1.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,56 @@
+raii/ctor-autogen.cfa:102:1 error: Unique best alternative includes deleted identifier in Generated Cast of:
+  Application of
+    Deleted Expression
+      Variable Expression: ?{}: static inline function
+      ... with parameters
+        _dst: reference to instance of struct Managed with body 1
+        x: signed int
+      ... returning nothing
+
+      ... deleted by: ?{}: function
+      ... with parameters
+        m: reference to instance of struct Managed with body 1
+      ... returning nothing
+      ... with body
+        CompoundStmt
+          Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+              ... with parameters
+                intrinsic reference to signed int
+                intrinsic signed int
+              ... returning
+                _retval__operator_assign: signed int
+                ... with attributes:
+                  Attribute with name: unused
+
+
+            ... to arguments
+              Generated Cast of:
+                Member Expression, with field:
+                  x: signed int
+                ... from aggregate:
+                  Generated Cast of:
+                    Variable Expression: m: reference to instance of struct Managed with body 1
+                  ... to:
+                    instance of struct Managed with body 1
+              ... to:
+                reference to signed int
+              Generated Cast of:
+                constant expression (0 0: zero_t)
+              ... to:
+                signed int
+
+            ... with environment:
+              Types:
+              Non-types:
+
+
+  ... to arguments
+    Generated Cast of:
+      Variable Expression: x: instance of struct Managed with body 1
+    ... to:
+      reference to instance of struct Managed with body 1
+    constant expression (123 123: signed int)
+
+... to: nothing
Index: sts/raii/.expect/ctor-autogen-ERR1.txt
===================================================================
--- tests/raii/.expect/ctor-autogen-ERR1.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,56 +1,0 @@
-raii/ctor-autogen.cfa:102:1 error: Unique best alternative includes deleted identifier in Generated Cast of:
-  Application of
-    Deleted Expression
-      Variable Expression: ?{}: static inline function
-      ... with parameters
-        _dst: reference to instance of struct Managed with body 1
-        x: signed int
-      ... returning nothing
-
-      ... deleted by: ?{}: function
-      ... with parameters
-        m: reference to instance of struct Managed with body 1
-      ... returning nothing
-      ... with body
-        CompoundStmt
-          Expression Statement:
-            Application of
-              Variable Expression: ?=?: function
-              ... with parameters
-                intrinsic reference to signed int
-                intrinsic signed int
-              ... returning
-                _retval__operator_assign: signed int
-                ... with attributes:
-                  Attribute with name: unused
-
-
-            ... to arguments
-              Generated Cast of:
-                Member Expression, with field:
-                  x: signed int
-                ... from aggregate:
-                  Generated Cast of:
-                    Variable Expression: m: reference to instance of struct Managed with body 1
-                  ... to:
-                    instance of struct Managed with body 1
-              ... to:
-                reference to signed int
-              Generated Cast of:
-                constant expression (0 0: zero_t)
-              ... to:
-                signed int
-
-            ... with environment:
-              Types:
-              Non-types:
-
-
-  ... to arguments
-    Generated Cast of:
-      Variable Expression: x: instance of struct Managed with body 1
-    ... to:
-      reference to instance of struct Managed with body 1
-    constant expression (123 123: signed int)
-
-... to: nothing
Index: tests/raii/.expect/memberCtors-ERR1.nast.txt
===================================================================
--- tests/raii/.expect/memberCtors-ERR1.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/raii/.expect/memberCtors-ERR1.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,1 @@
+raii/memberCtors.cfa:92:1 error: in ?{}, field a2 used before being constructed
Index: tests/raii/.expect/memberCtors-ERR1.oast.txt
===================================================================
--- tests/raii/.expect/memberCtors-ERR1.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/raii/.expect/memberCtors-ERR1.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,1 @@
+raii/memberCtors.cfa:92:1 error: in void ?{}(B &b), field a2 used before being constructed
Index: sts/raii/.expect/memberCtors-ERR1.txt
===================================================================
--- tests/raii/.expect/memberCtors-ERR1.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,1 +1,0 @@
-raii/memberCtors.cfa:92:1 error: in void ?{}(B &b), field a2 used before being constructed
Index: tests/warnings/.expect/self-assignment.nast.txt
===================================================================
--- tests/warnings/.expect/self-assignment.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/warnings/.expect/self-assignment.nast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,27 @@
+warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of:
+  Variable Expression: j: signed int
+... to:
+  reference to signed int
+warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Generated Cast of:
+  Variable Expression: s: instance of struct S with body
+... to:
+  reference to instance of struct S with body
+warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Generated Cast of:
+  Member Expression, with field:
+    i: signed int
+  ... from aggregate:
+    Variable Expression: s: instance of struct S with body
+... to:
+  reference to signed int
+warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Generated Cast of:
+  Member Expression, with field:
+    i: signed int
+  ... from aggregate:
+    Member Expression, with field:
+      s: instance of struct S with body
+    ... from aggregate:
+      Variable Expression: t: instance of struct T with body
+... to:
+  reference to signed int
+warnings/self-assignment.cfa: In function '_X4mainFi___1':
+warnings/self-assignment.cfa:36:9: note: #pragma message: Compiled
Index: tests/warnings/.expect/self-assignment.oast.txt
===================================================================
--- tests/warnings/.expect/self-assignment.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
+++ tests/warnings/.expect/self-assignment.oast.txt	(revision 4702a2cac45f6559d5d3404ee4ce0c09192620f3)
@@ -0,0 +1,27 @@
+warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of:
+  Variable Expression: j: signed int
+... to:
+  reference to signed int
+warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Generated Cast of:
+  Variable Expression: s: instance of struct S with body 1
+... to:
+  reference to instance of struct S with body 1
+warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Generated Cast of:
+  Member Expression, with field:
+    i: signed int
+  ... from aggregate:
+    Variable Expression: s: instance of struct S with body 1
+... to:
+  reference to signed int
+warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Generated Cast of:
+  Member Expression, with field:
+    i: signed int
+  ... from aggregate:
+    Member Expression, with field:
+      s: instance of struct S with body 1
+    ... from aggregate:
+      Variable Expression: t: instance of struct T with body 1
+... to:
+  reference to signed int
+warnings/self-assignment.cfa: In function '_X4mainFi___1':
+warnings/self-assignment.cfa:36:9: note: #pragma message: Compiled
Index: sts/warnings/.expect/self-assignment.txt
===================================================================
--- tests/warnings/.expect/self-assignment.txt	(revision e5c38112cf0116f0fcdd3e08dd4133429b2ecfbe)
+++ 	(revision )
@@ -1,27 +1,0 @@
-warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of:
-  Variable Expression: j: signed int
-... to:
-  reference to signed int
-warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Generated Cast of:
-  Variable Expression: s: instance of struct S with body 1
-... to:
-  reference to instance of struct S with body 1
-warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Generated Cast of:
-  Member Expression, with field:
-    i: signed int
-  ... from aggregate:
-    Variable Expression: s: instance of struct S with body 1
-... to:
-  reference to signed int
-warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Generated Cast of:
-  Member Expression, with field:
-    i: signed int
-  ... from aggregate:
-    Member Expression, with field:
-      s: instance of struct S with body 1
-    ... from aggregate:
-      Variable Expression: t: instance of struct T with body 1
-... to:
-  reference to signed int
-warnings/self-assignment.cfa: In function '_X4mainFi___1':
-warnings/self-assignment.cfa:36:9: note: #pragma message: Compiled
