Index: src/main.cc
===================================================================
--- src/main.cc	(revision 2d019af1e5dc0df0ad2bbe9c215b4c34968890c0)
+++ src/main.cc	(revision b0d5c0c16620305b9334dac680cf6fc824ff1d4b)
@@ -9,7 +9,7 @@
 // Author           : Peter Buhr and Rob Schluntz
 // Created On       : Fri May 15 23:12:02 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Fri Feb 19 14:59:00 2021
-// Update Count     : 643
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Mar  6 15:49:00 2021
+// Update Count     : 656
 //
 
@@ -101,5 +101,5 @@
 static string PreludeDirector = "";
 
-static void parse_cmdline( int argc, char *argv[] );
+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 );
@@ -159,5 +159,5 @@
 #define SIGPARMS int sig __attribute__(( unused )), siginfo_t * sfp __attribute__(( unused )), ucontext_t * cxt __attribute__(( unused ))
 
-static void Signal( int sig, void (*handler)(SIGPARMS), int flags ) {
+static void Signal( int sig, void (* handler)(SIGPARMS), int flags ) {
 	struct sigaction act;
 
@@ -166,5 +166,5 @@
 
 	if ( sigaction( sig, &act, nullptr ) == -1 ) {
-	    cerr << "*CFA runtime error* problem installing signal handler, error(" << errno << ") " << strerror( errno ) << endl;
+	    cerr << "*cfa-cpp compilation error* problem installing signal handler, error(" << errno << ") " << strerror( errno ) << endl;
 	    _exit( EXIT_FAILURE );
 	} // if
@@ -421,5 +421,5 @@
 			delete output;
 		} // if
-	} catch ( SemanticErrorException &e ) {
+	} catch ( SemanticErrorException & e ) {
 		if ( errorp ) {
 			cerr << "---AST at error:---" << endl;
@@ -432,5 +432,5 @@
 		} // if
 		return EXIT_FAILURE;
-	} catch ( UnimplementedError &e ) {
+	} catch ( UnimplementedError & e ) {
 		cout << "Sorry, " << e.get_what() << " is not currently implemented" << endl;
 		if ( output != &cout ) {
@@ -438,5 +438,5 @@
 		} // if
 		return EXIT_FAILURE;
-	} catch ( CompilerError &e ) {
+	} catch ( CompilerError & e ) {
 		cerr << "Compiler Error: " << e.get_what() << endl;
 		cerr << "(please report bugs to [REDACTED])" << endl;
@@ -445,4 +445,8 @@
 		} // if
 		return EXIT_FAILURE;
+	} catch ( std::bad_alloc & ) {
+		cerr << "*cfa-cpp compilation error* std::bad_alloc" << endl;
+		backtrace( 1 );
+		abort();
 	} catch ( ... ) {
 		exception_ptr eptr = current_exception();
@@ -451,8 +455,8 @@
 				rethrow_exception(eptr);
 			} else {
-				cerr << "Exception Uncaught and Unknown" << endl;
-			} // if
-		} catch(const exception& e) {
-			cerr << "Uncaught Exception \"" << e.what() << "\"\n";
+				cerr << "*cfa-cpp compilation error* exception uncaught and unknown" << endl;
+			} // if
+		} catch( const exception & e ) {
+			cerr << "*cfa-cpp compilation error* uncaught exception \"" << e.what() << "\"\n";
 		} // try
 		return EXIT_FAILURE;
@@ -544,5 +548,5 @@
 enum { printoptsSize = sizeof( printopts ) / sizeof( printopts[0] ) };
 
-static void usage( char *argv[] ) {
+static void usage( char * argv[] ) {
     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
