Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision 7f51b9dc349a76568aa4d3de2895e098988e60b4)
+++ driver/cfa.cc	(revision 13d33a758fd4097ca7b39a0687501ef7853332a1)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Aug 14 07:22:03 2020
-// Update Count     : 437
+// Last Modified On : Sun Aug 16 23:05:59 2020
+// Update Count     : 447
 //
 
@@ -18,9 +18,8 @@
 #include <cstdlib>										// putenv, exit
 #include <climits>										// PATH_MAX
+#include <string>										// STL version
+#include <algorithm>									// find
+
 #include <unistd.h>										// execvp
-#include <string>										// STL version
-#include <string.h>										// strcmp
-#include <algorithm>									// find
-
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -34,11 +33,10 @@
 using std::to_string;
 
-// #define __DEBUG_H__
+//#define __DEBUG_H__
 
 #define xstr(s) str(s)
 #define str(s) #s
 
-// "N__=" suffix
-static string __CFA_FLAGPREFIX__( "__CFA_FLAG" );
+static string __CFA_FLAGPREFIX__( "__CFA_FLAG" );		// "__CFA_FLAG__=" suffix
 
 static void Putenv( char * argv[], string arg ) {
@@ -156,9 +154,9 @@
 	PathMode path = FromProc();
 
-	const char *args[argc + 100];						// cfa command line values, plus some space for additional flags
+	const char * args[argc + 100];						// cfa command line values, plus some space for additional flags
 	int sargs = 1;										// starting location for arguments in args list
 	int nargs = sargs;									// number of arguments in args list; 0 => command name
 
-	const char *libs[argc + 20];						// non-user libraries must come separately, plus some added libraries and flags
+	const char * libs[argc + 20];						// non-user libraries must come separately, plus some added libraries and flags
 	int nlibs = 0;
 
@@ -183,4 +181,7 @@
 				args[nargs++] = argv[i];				// pass argument along
 				if ( arg == "-o" ) o_file = i;			// remember file
+
+				// CFA specific arguments
+
 			} else if ( strncmp(arg.c_str(), "-XCFA", 5) == 0 ) { // CFA pass through
 				if ( arg.size() == 5 ) {
@@ -201,16 +202,16 @@
 			} else if ( arg == "-nodebug" ) {
 				debug = false;							// strip the nodebug flag
-			} else if ( arg == "-nolib" ) {
-				nolib = true;							// strip the nodebug flag
 			} else if ( arg == "-quiet" ) {
 				quiet = true;							// strip the quiet flag
 			} else if ( arg == "-noquiet" ) {
 				quiet = false;							// strip the noquiet flag
+			} else if ( arg == "-no-include-stdhdr" ) {
+				noincstd_flag = true;					// strip the no-include-stdhdr flag
+			} else if ( arg == "-nolib" ) {
+				nolib = true;							// strip the nolib flag
 			} else if ( arg == "-help" ) {
 				help = true;							// strip the help flag
 			} else if ( arg == "-nohelp" ) {
 				help = false;							// strip the nohelp flag
-			} else if ( arg == "-no-include-stdhdr" ) {
-				noincstd_flag = true;					// strip the no-include-stdhdr flag
 			} else if ( arg == "-cfalib") {
 				compiling_libs = true;
@@ -334,5 +335,5 @@
 	string libbase;
 	switch(path) {
-	case Installed:
+	  case Installed:
 		args[nargs++] = "-I" CFA_INCDIR;
 		// do not use during build
@@ -344,6 +345,6 @@
 		libbase = CFA_LIBDIR;
 		break;
-	case BuildTree:
-	case Distributed:
+	  case BuildTree:
+	  case Distributed:
 		args[nargs++] = "-I" TOP_SRCDIR "libcfa/src";
 		// do not use during build
@@ -379,5 +380,5 @@
 	string libdir = libbase + arch + "-" + config;
 
-	if (path != Distributed) {
+	if ( path != Distributed ) {
 		if ( ! nolib && ! dirExists( libdir ) ) {
 			cerr << argv[0] << " internal error, configuration " << config << " not installed." << endl;
@@ -399,8 +400,8 @@
 	string preludedir;
 	switch(path) {
-	case Installed   : preludedir = libdir; break;
-	case BuildTree   : preludedir = libdir + "/prelude"; break;
-	case Distributed : preludedir = dir(argv[0]); break;
-	}
+	  case Installed   : preludedir = libdir; break;
+	  case BuildTree   : preludedir = libdir + "/prelude"; break;
+	  case Distributed : preludedir = dir(argv[0]); break;
+	} // switch
 
 	Putenv( argv, "--prelude-dir=" + preludedir );
@@ -474,11 +475,11 @@
 	if ( bprefix.length() == 0 ) {
 		switch(path) {
-		case Installed   : bprefix = installlibdir; break;
-		case BuildTree   : bprefix = srcdriverdir ; break;
-		case Distributed : bprefix = dir(argv[0]) ; break;
-		}
-		if ( bprefix[bprefix.length() - 1] != '/' ) bprefix += '/';
-		Putenv( argv, string("-B=") + bprefix );
-	} // if
+		  case Installed   : bprefix = installlibdir; break;
+		  case BuildTree   : bprefix = srcdriverdir ; break;
+		  case Distributed : bprefix = dir(argv[0]) ; break;
+		} // switch
+	} // if
+	if ( bprefix[bprefix.length() - 1] != '/' ) bprefix += '/';
+	Putenv( argv, string("-B=") + bprefix );
 
 	args[nargs++] = "-Xlinker";							// used by backtrace
@@ -502,6 +503,6 @@
 		args[nargs++] = "-Wno-cast-function-type";
 		#endif // HAVE_CAST_FUNCTION_TYPE
-		if ( ! std_flag ) {								// default c11, if none specified
-			args[nargs++] = "-std=gnu11";
+		if ( ! std_flag && ! x_flag ) {
+			args[nargs++] = "-std=gnu11";				// default c11, if none specified
 		} // if
 		args[nargs++] = "-fgnu89-inline";
@@ -553,5 +554,5 @@
 	// execute the command and return the result
 
-	execvp( args[0], (char *const *)args );				// should not return
+	execvp( args[0], (char * const *)args );			// should not return
 	perror( "CFA Translator error: execvp" );
 	exit( EXIT_FAILURE );
