Index: src/main.cc
===================================================================
--- src/main.cc	(revision c7a30813626cbca3ee08af1e72db028b89e73881)
+++ src/main.cc	(revision 8905f56fc5f7139d6950e2991a2f75da89c7be36)
@@ -64,4 +64,5 @@
 	bresolvep = false,
 	bboxp = false,
+	bcodegenp = false,
 	ctorinitp = false,
 	declstatsp = false,
@@ -306,4 +307,9 @@
 		OPTPRINT( "box" )
 		GenPoly::box( translationUnit );
+
+		if ( bcodegenp ) {
+			dump( translationUnit );
+			return 0;
+		}
 
 		if ( optind < argc ) {							// any commands after the flags and input file ? => output file name
@@ -377,5 +383,5 @@
 
 	int c;
-	while ( (c = getopt_long( argc, argv, "abBcdefglLmnpqrstTvyzZD:F:", long_opts, &long_index )) != -1 ) {
+	while ( (c = getopt_long( argc, argv, "abBcCdefglLmnpqrstTvyzZD:F:", long_opts, &long_index )) != -1 ) {
 		switch ( c ) {
 		  case Ast:
@@ -393,4 +399,7 @@
 		  case 'c':										// print after constructors and destructors are replaced
 			ctorinitp = true;
+			break;
+		  case 'C':										// print before code generation
+			bcodegenp = true;
 			break;
 		  case DeclStats:
