Index: driver/cc1.cc
===================================================================
--- driver/cc1.cc	(revision 245a92ccbd9dced120327cb53d35b1a5ad374555)
+++ driver/cc1.cc	(revision e523b07aa19c5a8ce7a69a9d4e9ff161b3fbbedf)
@@ -10,6 +10,6 @@
 // Created On       : Fri Aug 26 14:23:51 2005
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 23 09:48:40 2018
-// Update Count     : 122
+// Last Modified On : Mon Sep  3 16:57:05 2018
+// Update Count     : 125
 //
 
@@ -32,5 +32,4 @@
 string compiler_name( CFA_BACKEND_CC );					// path/name of C compiler
 
-string D__GCC_X__( "-D__GCC_X__=" );
 string D__GCC_BPREFIX__( "-D__GCC_BPREFIX__=" );
 string D__CFA_FLAGPREFIX__( "-D__CFA_FLAG__=" );
@@ -46,5 +45,4 @@
 enum { NumSuffixes = 2 };
 const string suffixes[NumSuffixes] = { "cfa", "hfa", };
-
 
 void suffix( string arg, const char * args[], int & nargs ) {
@@ -116,5 +114,4 @@
 void Stage1( const int argc, const char * const argv[] ) {
 	int code;
-	int i;
 
 	string arg;
@@ -139,17 +136,15 @@
 	cerr << "Stage1" << endl;
 	#endif // __DEBUG_H__
+	checkEnv( args, nargs );							// arguments passed via environment variables
+	#ifdef __DEBUG_H__
+	for ( int i = 1; i < argc; i += 1 ) {
+		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
+	} // for
+	#endif // __DEBUG_H__
 
 	// process all the arguments
 
-	checkEnv( args, nargs );							// arguments passed via environment variables
-
-	for ( i = 1; i < argc; i += 1 ) {
-		#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-		#endif // __DEBUG_H__
+	for ( int i = 1; i < argc; i += 1 ) {
 		arg = argv[i];
-		#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-		#endif // __DEBUG_H__
 		if ( prefix( arg, "-" ) ) {
 			// strip g++ flags that are inappropriate or cause duplicates in subsequent passes
@@ -185,15 +180,4 @@
 				ncargs += 1;
 				i += 1;									// and the argument
-			// } else if ( prefix( arg, D__GCC_X__ ) ) {
-			// 	args[nargs] = "-x";
-			// 	nargs += 1;
-			// 	args[nargs] = ( *new string( arg.substr( D__GCC_X__.size() ) ) ).c_str(); // pass the flag along
-			// 	nargs += 1;
-			// } else if ( arg == "-D" && prefix( argv[i + 1], D__GCC_X__.substr(2) ) ) {
-			// 	args[nargs] = "-x";
-			// 	nargs += 1;
-			// 	args[nargs] = ( *new string( string( argv[i + 1] ).substr( D__GCC_X__.size() - 2 ) ) ).c_str(); // pass the flag along
-			// 	nargs += 1;
-			// 	i += 1;									// and the argument
 			} else if ( prefix( arg, D__GCC_BPREFIX__ ) ) {
 				bprefix = arg.substr( D__GCC_BPREFIX__.size() );
@@ -251,5 +235,5 @@
 	#ifdef __DEBUG_H__
 	cerr << "args:";
-	for ( i = 1; i < nargs; i += 1 ) {
+	for ( int i = 1; i < nargs; i += 1 ) {
 		cerr << " " << args[i];
 	} // for
@@ -282,5 +266,5 @@
 		#ifdef __DEBUG_H__
 		cerr << "nargs: " << nargs << endl;
-		for ( i = 0; args[i] != NULL; i += 1 ) {
+		for ( int i = 0; args[i] != NULL; i += 1 ) {
 			cerr << args[i] << " ";
 		} // for
@@ -324,5 +308,5 @@
 		#ifdef __DEBUG_H__
 		cerr << "cpp nargs: " << nargs << endl;
-		for ( i = 0; args[i] != NULL; i += 1 ) {
+		for ( int i = 0; args[i] != NULL; i += 1 ) {
 			cerr << args[i] << " ";
 		} // for
@@ -377,5 +361,5 @@
 		#ifdef __DEBUG_H__
 		cerr << "cfa-cpp ncargs: " << o_name << " " << CFA_flag << " " << ncargs << endl;
-		for ( i = 0; cargs[i] != NULL; i += 1 ) {
+		for ( int i = 0; cargs[i] != NULL; i += 1 ) {
 			cerr << cargs[i] << " ";
 		} // for
@@ -407,6 +391,4 @@
 
 void Stage2( const int argc, const char * const * argv ) {
-	int i;
-
 	string arg;
 
@@ -419,17 +401,15 @@
 	cerr << "Stage2" << endl;
 	#endif // __DEBUG_H__
+	checkEnv( args, nargs );							// arguments passed via environment variables
+	#ifdef __DEBUG_H__
+	for ( int i = 1; i < argc; i += 1 ) {
+		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
+	} // for
+	#endif // __DEBUG_H__
 
 	// process all the arguments
 
-	checkEnv( args, nargs );							// arguments passed via environment variables
-
-	for ( i = 1; i < argc; i += 1 ) {
-		#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-		#endif // __DEBUG_H__
+	for ( int i = 1; i < argc; i += 1 ) {
 		arg = argv[i];
-		#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-		#endif // __DEBUG_H__
 		if ( prefix( arg, "-" ) ) {
 			// strip inappropriate flags
@@ -476,5 +456,5 @@
 	#ifdef __DEBUG_H__
 	cerr << "args:";
-	for ( i = 1; i < nargs; i += 1 ) {
+	for ( int i = 1; i < nargs; i += 1 ) {
 		cerr << " " << args[i];
 	} // for
@@ -492,5 +472,5 @@
 	#ifdef __DEBUG_H__
 	cerr << "stage2 nargs: " << nargs << endl;
-	for ( i = 0; args[i] != NULL; i += 1 ) {
+	for ( int i = 0; args[i] != NULL; i += 1 ) {
 		cerr << args[i] << " ";
 	} // for
@@ -506,5 +486,5 @@
 int main( const int argc, const char * const argv[], __attribute__((unused)) const char * const env[] ) {
 	#ifdef __DEBUG_H__
-	for ( int i = 0; env[i] != NULL; i += 1 ) {
+	for ( int int i = 0; env[i] != NULL; i += 1 ) {
 		cerr << env[i] << endl;
 	} // for
Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision 245a92ccbd9dced120327cb53d35b1a5ad374555)
+++ driver/cfa.cc	(revision e523b07aa19c5a8ce7a69a9d4e9ff161b3fbbedf)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 23 15:41:55 2018
-// Update Count     : 270
+// Last Modified On : Mon Sep  3 16:47:59 2018
+// Update Count     : 275
 //
 
@@ -43,9 +43,9 @@
 const string suffixes[NumSuffixes] = { "cfa", "hfa", };
 
-void suffix( string arg, const char * args[], int & nargs ) {
+bool suffix( string arg, const char * args[], int & nargs ) {
 	//std::cerr << arg << std::endl;
 	size_t dot = arg.find_last_of( "." );
 	//std::cerr << dot << " " << (dot != string::npos ? arg.substr( dot + 1 ) : "fred" ) << std::endl;
-	if ( dot == string::npos ) return;
+	if ( dot == string::npos ) return false;
 	string sx = arg.substr( dot + 1 );
 	for ( int i = 0; i < NumSuffixes; i += 1 ) {
@@ -55,7 +55,8 @@
 			args[nargs] = "c";
 			nargs += 1;
-			return;
+			return true;
 		} // if
 	} // for
+	return false;
 } // suffix
 
@@ -128,4 +129,7 @@
 	#ifdef __DEBUG_H__
 	cerr << "CFA:" << endl;
+	for ( int i = 1; i < argc; i += 1 ) {
+	    cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
+	} // for
 	#endif // __DEBUG_H__
 
@@ -133,11 +137,5 @@
 
 	for ( int i = 1; i < argc; i += 1 ) {
-		#ifdef __DEBUG_H__
-		cerr << "argv[" << i << "]:\"" << argv[i] << "\"" << endl;
-		#endif // __DEBUG_H__
 		arg = argv[i];									// convert to string value
-		#ifdef __DEBUG_H__
-		cerr << "arg:\"" << arg << "\"" << endl;
-		#endif // __DEBUG_H__
 		if ( prefix( arg, "-" ) ) {
 			// pass through arguments
@@ -202,19 +200,4 @@
 				args[nargs] = argv[i];					// pass the argument along
 				nargs += 1;
-			} else if ( arg == "-x" ) {
-				xflag = true;
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-				i += 1;									// advance to argument
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-				// args[nargs] = ( *new string( string("-D__GCC_X__=") + argv[i] ) ).c_str(); // add the argument for -x
-				// nargs += 1;
-			} else if ( prefix( arg, "-x" ) ) {
-				xflag = true;
-				args[nargs] = argv[i];					// pass the argument along
-				nargs += 1;
-				// args[nargs] = ( *new string( string("-D__GCC_X__=") + arg.substr(2) ) ).c_str(); // add the argument for -x
-				// nargs += 1;
 			} else if ( arg == "-w" ) {
 				args[nargs] = argv[i];					// pass the argument along
@@ -298,21 +281,12 @@
 			} // if
 		} else {
-			bool opt = false;
-			if ( ! xflag ) {
-				suffix( arg, args, nargs );				// check suffix
-				// args[nargs] = ( *new string( string("-D__GCC_X__=c") ) ).c_str(); // add the argument for -x
-				// nargs += 1;
-				opt = true;
-			} // if
-			// concatenate other arguments
-			args[nargs] = argv[i];
+			bool cfa = suffix( arg, args, nargs );		// check suffix
+			args[nargs] = argv[i];						// concatenate file
 			nargs += 1;
-			if ( opt ) {
+			if ( cfa ) {
 				args[nargs] = "-x";
 				nargs += 1;
 				args[nargs] = "none";
 				nargs += 1;
-				// args[nargs] = ( *new string( string("-D__GCC_X__=none") ) ).c_str(); // add the argument for -x
-				// nargs += 1;
 			} // if
 			nonoptarg = true;
@@ -320,4 +294,9 @@
 		} // if
 	} // for
+
+    args[nargs] = "-x";					// turn off language
+    nargs += 1;
+    args[nargs] = "none";
+    nargs += 1;
 
 	#ifdef __x86_64__
