Index: src/SymTab/Autogen.cc
===================================================================
--- src/SymTab/Autogen.cc	(revision 70a06f62e367e9c06390ae334378318747bac089)
+++ src/SymTab/Autogen.cc	(revision b617e4bc8efed571f2132d8e906a00514e74c8e1)
@@ -10,5 +10,5 @@
 // Created On       : Thu Mar 03 15:45:56 2016
 // Last Modified By : Rob Schluntz
-// Last Modified On : Thu Apr 14 16:00:16 2016
+// Last Modified On : Thu Apr 14 16:58:35 2016
 // Update Count     : 1
 //
@@ -59,9 +59,13 @@
 	}
 
+	bool isUnnamedBitfield( ObjectDecl * obj ) {
+		return obj != NULL && obj->get_name() == "" && obj->get_bitfieldWidth() != NULL;
+	}
+
 	template< typename OutputIterator >
 	void makeScalarFunction( Expression *src, ObjectDecl *dstParam, DeclarationWithType *member, std::string fname, OutputIterator out ) {
 		ObjectDecl *obj = dynamic_cast<ObjectDecl *>( member );
 		// unnamed bit fields are not copied as they cannot be accessed
-		if ( obj != NULL && obj->get_name() == "" && obj->get_bitfieldWidth() != NULL ) return;
+		if ( isUnnamedBitfield( obj ) ) return;
 
 		// want to be able to generate assignment, ctor, and dtor generically,
@@ -321,4 +325,8 @@
 			DeclarationWithType * member = dynamic_cast<DeclarationWithType *>( *i );
 			assert( member );
+			if ( isUnnamedBitfield( dynamic_cast< ObjectDecl * > ( member ) ) ) {
+				// don't make a function whose parameter is an unnamed bitfield
+				continue;
+			}
 			memCtorType->get_parameters().push_back( new ObjectDecl( member->get_name(), DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, member->get_type()->clone(), 0 ) );
 			FunctionDecl * ctor = new FunctionDecl( "?{}", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, memCtorType->clone(), new CompoundStmt( noLabels ), true, false );
