Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 9e2c1f036fddf8f841b5d1d1b225d3cb03a7ca67)
+++ src/CodeGen/CodeGenerator.cc	(revision e04ef3a33b7695190c509b61da6fe0cfcf46b265)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri May 06 16:01:00 2016
-// Update Count     : 255
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jun  9 13:21:00 2016
+// Update Count     : 256
 //
 
@@ -250,4 +250,5 @@
 	//*** Expressions
 	void CodeGenerator::visit( ApplicationExpr *applicationExpr ) {
+		extension( applicationExpr );
 		if ( VariableExpr *varExpr = dynamic_cast< VariableExpr* >( applicationExpr->get_function() ) ) {
 			OperatorInfo opInfo;
@@ -361,4 +362,5 @@
 
 	void CodeGenerator::visit( UntypedExpr *untypedExpr ) {
+		extension( untypedExpr );
 		if ( NameExpr *nameExpr = dynamic_cast< NameExpr* >( untypedExpr->get_function() ) ) {
 			OperatorInfo opInfo;
@@ -445,4 +447,5 @@
 
 	void CodeGenerator::visit( NameExpr *nameExpr ) {
+		extension( nameExpr );
 		OperatorInfo opInfo;
 		if ( operatorLookup( nameExpr->get_name(), opInfo ) ) {
@@ -455,4 +458,5 @@
 
 	void CodeGenerator::visit( AddressExpr *addressExpr ) {
+		extension( addressExpr );
 		output << "(&";
 		// this hack makes sure that we don't convert "constant_zero" to "0" if we're taking its address
@@ -466,4 +470,5 @@
 
 	void CodeGenerator::visit( CastExpr *castExpr ) {
+		extension( castExpr );
 		output << "(";
 		if ( castExpr->get_results().empty() ) {
@@ -488,4 +493,5 @@
 
 	void CodeGenerator::visit( MemberExpr *memberExpr ) {
+		extension( memberExpr );
 		memberExpr->get_aggregate()->accept( *this );
 		output << "." << mangleName( memberExpr->get_member() );
@@ -493,4 +499,5 @@
 
 	void CodeGenerator::visit( VariableExpr *variableExpr ) {
+		extension( variableExpr );
 		OperatorInfo opInfo;
 		if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && operatorLookup( variableExpr->get_var()->get_name(), opInfo ) && opInfo.type == OT_CONSTANT ) {
@@ -503,8 +510,10 @@
 	void CodeGenerator::visit( ConstantExpr *constantExpr ) {
 		assert( constantExpr->get_constant() );
+		extension( constantExpr );
 		constantExpr->get_constant()->accept( *this );
 	}
 
 	void CodeGenerator::visit( SizeofExpr *sizeofExpr ) {
+		extension( sizeofExpr );
 		output << "sizeof(";
 		if ( sizeofExpr->get_isType() ) {
@@ -517,4 +526,5 @@
 
 	void CodeGenerator::visit( AlignofExpr *alignofExpr ) {
+		extension( alignofExpr );
 		// use GCC extension to avoid bumping std to C11
 		output << "__alignof__(";
@@ -532,4 +542,5 @@
 
 	void CodeGenerator::visit( OffsetofExpr *offsetofExpr ) {
+		extension( offsetofExpr );
 		// use GCC builtin
 		output << "__builtin_offsetof(";
@@ -544,4 +555,5 @@
 
 	void CodeGenerator::visit( LogicalExpr *logicalExpr ) {
+		extension( logicalExpr );
 		output << "(";
 		logicalExpr->get_arg1()->accept( *this );
@@ -556,4 +568,5 @@
 
 	void CodeGenerator::visit( ConditionalExpr *conditionalExpr ) {
+		extension( conditionalExpr );
 		output << "(";
 		conditionalExpr->get_arg1()->accept( *this );
@@ -566,4 +579,5 @@
 
 	void CodeGenerator::visit( CommaExpr *commaExpr ) {
+		extension( commaExpr );
 		output << "(";
 		commaExpr->get_arg1()->accept( *this );
@@ -578,4 +592,5 @@
 
 	void CodeGenerator::visit( AsmExpr *asmExpr ) {
+		extension( asmExpr );
 		if ( asmExpr->get_inout() ) {
 			output << "[ ";
Index: src/CodeGen/CodeGenerator.h
===================================================================
--- src/CodeGen/CodeGenerator.h	(revision 9e2c1f036fddf8f841b5d1d1b225d3cb03a7ca67)
+++ src/CodeGen/CodeGenerator.h	(revision e04ef3a33b7695190c509b61da6fe0cfcf46b265)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Mar  2 17:32:24 2016
-// Update Count     : 28
+// Last Modified On : Thu Jun  9 13:15:58 2016
+// Update Count     : 29
 //
 
@@ -94,4 +94,10 @@
 			std::ostream& operator()(std::ostream & os);
 		};
+
+		void extension( Expression *expr ) {
+			if ( expr->get_extension() ) {
+				output << "__extension__ ";
+			} // if
+		} // extension
 	  private:
 
