Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 396b830fbd39b9c51314bba40c12d1cca6f9fc52)
+++ src/CodeGen/CodeGenerator.cc	(revision f2d1335e445b79771665d58e1c91dcabab7e7704)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr May  2 10:47:00 2019
-// Update Count     : 497
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Oct 19 19:30:38 2019
+// Update Count     : 506
 //
 #include "CodeGenerator.h"
@@ -198,12 +198,16 @@
 		// deleted decls should never be used, so don't print them
 		if ( objectDecl->isDeleted && options.genC ) return;
-		if (objectDecl->get_name().empty() && options.genC ) {
+
+		// gcc allows an empty declarator (no name) for bit-fields and C states: 6.7.2.1 Structure and union specifiers,
+		// point 4, page 113: If the (bit field) value is zero, the declaration shall have no declarator.  For anything
+		// else, the anonymous name refers to the anonymous object for plan9 inheritance.
+		if ( objectDecl->get_name().empty() && options.genC && ! objectDecl->get_bitfieldWidth() ) {
 			// only generate an anonymous name when generating C code, otherwise it clutters the output too much
 			static UniqueName name = { "__anonymous_object" };
 			objectDecl->set_name( name.newName() );
-            // Stops unused parameter warnings.
-            if ( options.anonymousUnused ) {
-                objectDecl->attributes.push_back( new Attribute( "unused" ) );
-            }
+			// Stops unused parameter warnings.
+			if ( options.anonymousUnused ) {
+				objectDecl->attributes.push_back( new Attribute( "unused" ) );
+			}
 		}
 
Index: src/ControlStruct/MLEMutator.cc
===================================================================
--- src/ControlStruct/MLEMutator.cc	(revision 396b830fbd39b9c51314bba40c12d1cca6f9fc52)
+++ src/ControlStruct/MLEMutator.cc	(revision f2d1335e445b79771665d58e1c91dcabab7e7704)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar  8 17:08:25 2018
-// Update Count     : 219
+// Last Modified On : Tue Oct 22 17:22:44 2019
+// Update Count     : 220
 //
 
@@ -313,4 +313,24 @@
 	}
 
+	void MLEMutator::premutate( TryStmt * tryStmt ) {
+		// generate a label for breaking out of a labeled if
+		bool labeledBlock = !(tryStmt->get_labels().empty());
+		if ( labeledBlock ) {
+			Label brkLabel = generator->newLabel("blockBreak", tryStmt);
+			enclosingControlStructures.push_back( Entry( tryStmt, brkLabel ) );
+			GuardAction( [this]() { enclosingControlStructures.pop_back(); } );
+		} // if
+	}
+
+	Statement * MLEMutator::postmutate( TryStmt * tryStmt ) {
+		bool labeledBlock = !(tryStmt->get_labels().empty());
+		if ( labeledBlock ) {
+			if ( ! enclosingControlStructures.back().useBreakExit().empty() ) {
+				set_breakLabel( enclosingControlStructures.back().useBreakExit() );
+			} // if
+		} // if
+		return tryStmt;
+	}
+
 	void MLEMutator::premutate( CaseStmt *caseStmt ) {
 		visit_children = false;
Index: src/ControlStruct/MLEMutator.h
===================================================================
--- src/ControlStruct/MLEMutator.h	(revision 396b830fbd39b9c51314bba40c12d1cca6f9fc52)
+++ src/ControlStruct/MLEMutator.h	(revision f2d1335e445b79771665d58e1c91dcabab7e7704)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar  8 16:42:32 2018
-// Update Count     : 41
+// Last Modified On : Tue Oct 22 17:22:47 2019
+// Update Count     : 45
 //
 
@@ -47,4 +47,6 @@
 		void premutate( SwitchStmt *switchStmt );
 		Statement * postmutate( SwitchStmt *switchStmt );
+		void premutate( TryStmt *tryStmt );
+		Statement * postmutate( TryStmt *tryStmt );
 
 		Statement *mutateLoop( Statement *bodyLoop, Entry &e );
@@ -73,4 +75,7 @@
 			explicit Entry( SwitchStmt *stmt, Label breakExit, Label fallDefaultExit ) :
 				stmt( stmt ), breakExit( breakExit ), fallDefaultExit( fallDefaultExit ) {}
+
+			explicit Entry( TryStmt *stmt, Label breakExit ) :
+				stmt( stmt ), breakExit( breakExit ) {}
 
 			bool operator==( const Statement *other ) { return stmt == other; }
