Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision a1d7679d94d8237e88e74f5569ee3c7eaefe160d)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 7fe4cc3e3914f3250805dab2096831d4687ca914)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 23:52:08 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun 13 16:13:54 2016
-// Update Count     : 25
+// Last Modified On : Mon Jul  4 17:02:51 2016
+// Update Count     : 29
 //
 
@@ -227,4 +227,9 @@
 			std::cerr << "there are " << alternatives.size() << " alternatives after elimination" << std::endl;
 		)
+
+		// Central location to handle gcc extension keyword for all expression types.
+		for ( Alternative &iter: alternatives ) {
+			iter.expr->set_extension( expr->get_extension() );
+		} // for
 	}
 
@@ -772,5 +777,4 @@
 		for ( std::list< DeclarationWithType* >::iterator i = declList.begin(); i != declList.end(); ++i ) {
 			VariableExpr newExpr( *i, nameExpr->get_argName() );
-			newExpr.set_extension( nameExpr->get_extension() );
 			alternatives.push_back( Alternative( newExpr.clone(), env, Cost() ) );
 			PRINT(
