Index: driver/cc1.cc
===================================================================
--- driver/cc1.cc	(revision f4530d70eb27cd28e4366ba6e7e3e1d22efa1808)
+++ driver/cc1.cc	(revision 68f36f466e0d4b6c66374329d439152ca1c1f7ea)
@@ -10,6 +10,6 @@
 // Created On       : Fri Aug 26 14:23:51 2005
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Oct 20 08:14:33 2019
-// Update Count     : 385
+// Last Modified On : Sat May 30 18:09:05 2020
+// Update Count     : 404
 //
 
@@ -38,4 +38,5 @@
 static string o_file;
 static string bprefix;
+static string lang;										// -x flag
 
 
@@ -73,4 +74,6 @@
 			if ( prefix( val, "-compiler=" ) ) {
 				compiler_path = val.substr( 10 );
+			} else if ( prefix( val, "-x=" ) ) {
+				lang = val.substr( 3 );
 			} // if
 		} // if
@@ -100,4 +103,5 @@
 			} else if ( prefix( val, "-B=" ) ) {		// location of cfa-cpp
 				bprefix = val.substr( 3 );
+			} else if ( prefix( val, "-x=" ) ) {		// ignore
 			} else {									// normal flag for cfa-cpp
 				args[nargs++] = ( *new string( arg.substr( arg.find_first_of( "=" ) + 1 ) ) ).c_str();
@@ -247,5 +251,10 @@
 
 		args[0] = compiler_path.c_str();
-		suffix( cpp_in, args, nargs );					// check suffix
+		if ( lang.size() == 0 ) {
+			suffix( cpp_in, args, nargs );				// check suffix
+		} else {
+			args[nargs++] = "-x";
+			args[nargs++] = ( *new string( lang.c_str() ) ).c_str();
+		} // if
 		args[nargs++] = cpp_in;
 		if ( o_flag ) {									// location for output
@@ -280,5 +289,10 @@
 
 		args[0] = compiler_path.c_str();
-		suffix( cpp_in, args, nargs );					// check suffix
+		if ( lang.size() == 0 ) {
+			suffix( cpp_in, args, nargs );				// check suffix
+		} else {
+			args[nargs++] = "-x";
+			args[nargs++] = ( *new string( lang.c_str() ) ).c_str();
+		} // if
 		args[nargs++] = cpp_in;							// input to cpp
 		args[nargs] = nullptr;							// terminate argument list
Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision f4530d70eb27cd28e4366ba6e7e3e1d22efa1808)
+++ driver/cfa.cc	(revision 68f36f466e0d4b6c66374329d439152ca1c1f7ea)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May 18 21:50:54 2020
-// Update Count     : 425
+// Last Modified On : Sat May 30 18:28:23 2020
+// Update Count     : 433
 //
 
@@ -243,5 +243,10 @@
 					lang = arg.substr( 2 );
 				} // if
-				x_flag = lang != "none";
+				if ( x_flag ) {
+					cerr << argv[0] << " warning, only one -x flag per compile, ignoring subsequent flag." << endl;
+				} else {
+					x_flag = true;
+					Putenv( argv, string( "-x=" ) + lang );
+				} // if
 			} else if ( prefix( arg, "-std=" ) || prefix( arg, "--std=" ) ) {
 				std_flag = true;						// -std=XX provided
