Index: src/main.cc
===================================================================
--- src/main.cc	(revision 7d01cf444a023daf487ab6160ac3de9182d41088)
+++ src/main.cc	(revision e0bd0f925c0fbd2add47c0045972c485136f776c)
@@ -10,6 +10,6 @@
 // Created On       : Fri May 15 23:12:02 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jun  5 20:35:13 2019
-// Update Count     : 601
+// Last Modified On : Thu Aug 22 13:06:18 2019
+// Update Count     : 605
 //
 
@@ -98,5 +98,5 @@
 static std::string PreludeDirector = "";
 
-static void parse_cmdline( int argc, char *argv[], const char *& filename );
+static void parse_cmdline( int argc, char *argv[] );
 static void parse( FILE * input, LinkageSpec::Spec linkage, bool shouldExit = false );
 static void dump( list< Declaration * > & translationUnit, ostream & out = cout );
@@ -171,5 +171,4 @@
 	FILE * input;										// use FILE rather than istream because yyin is FILE
 	ostream * output = & cout;
-	const char * filename = nullptr;
 	list< Declaration * > translationUnit;
 
@@ -183,5 +182,5 @@
 	// } // for
 
-	parse_cmdline( argc, argv, filename );				// process command-line arguments
+	parse_cmdline( argc, argv );						// process command-line arguments
 	CodeGen::FixMain::setReplaceMain( !nomainp );
 
@@ -190,15 +189,8 @@
 		if ( optind < argc ) {							// any commands after the flags ? => input file name
 			input = fopen( argv[ optind ], "r" );
-			assertf( input, "cannot open %s\n", argv[ optind ] );
-			// if running cfa-cpp directly, might forget to pass -F option (and really shouldn't have to)
-			if ( filename == nullptr ) filename = argv[ optind ];
-			// prelude filename comes in differently
-			if ( libcfap ) filename = "prelude.cfa";
+			assertf( input, "cannot open %s because %s\n", argv[ optind ], strerror( errno ) );
 			optind += 1;
 		} else {										// no input file name
 			input = stdin;
-			// if running cfa-cpp directly, might forget to pass -F option. Since this takes from stdin, pass
-			// a fake name along
-			if ( filename == nullptr ) filename = "stdin";
 		} // if
 
@@ -438,5 +430,5 @@
 
 
-static const char optstring[] = ":hlLmNnpP:S:twW:D:F:";
+static const char optstring[] = ":hlLmNnpP:S:twW:D:";
 
 enum { PreludeDir = 128 };
@@ -456,5 +448,4 @@
 	{ "", no_argument, nullptr, 0 },					// -W
 	{ "", no_argument, nullptr, 0 },					// -D
-	{ "", no_argument, nullptr, 0 },					// -F
 	{ nullptr, 0, nullptr, 0 }
 }; // long_opts
@@ -475,5 +466,4 @@
 	"",													// -W
 	"",													// -D
-	"",													// -F
 }; // description
 
@@ -510,5 +500,5 @@
 
 static void usage( char *argv[] ) {
-    cout << "Usage: " << argv[0] << " options are:" << endl;
+    cout << "Usage: " << argv[0] << " [options] [input-file (default stdin)] [output-file (default stdout)], where options are:" << endl;
 	int i = 0, j = 1;									// j skips starting colon
 	for ( ; long_opts[i].name != 0 && optstring[j] != '\0'; i += 1, j += 1 ) {
@@ -536,5 +526,5 @@
 } // usage
 
-static void parse_cmdline( int argc, char * argv[], const char *& filename ) {
+static void parse_cmdline( int argc, char * argv[] ) {
 	opterr = 0;											// (global) prevent getopt from printing error messages
 
@@ -607,7 +597,4 @@
 		  case 'D':										// ignore -Dxxx, forwarded by cpp, hidden
 			break;
-		  case 'F':										// source file-name without suffix, hidden
-			filename = optarg;
-			break;
 		  case '?':										// unknown option
 			if ( optopt ) {								// short option ?
