Index: src/SymTab/Autogen.h
===================================================================
--- src/SymTab/Autogen.h	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/SymTab/Autogen.h	(revision c54b0b45ffaa82f6dc63dcd8712ad7755b88438d)
@@ -58,5 +58,5 @@
 			assert( type );
 			Type * castType = type->clone();
-			castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true);
+			castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false);
 			castType->set_isLvalue( true ); // xxx - might not need this
 			dstParam = new CastExpr( dstParam, new PointerType( Type::Qualifiers(), castType ) );
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/SymTab/Validate.cc	(revision c54b0b45ffaa82f6dc63dcd8712ad7755b88438d)
@@ -323,5 +323,5 @@
 			ObjectDecl * obj = dynamic_cast< ObjectDecl * >( *i );
 			assert( obj );
-			obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false ), enumDecl->get_name() ) );
+			obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false, false ), enumDecl->get_name() ) );
 		} // for
 		Parent::visit( enumDecl );
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/SynTree/Type.h	(revision c54b0b45ffaa82f6dc63dcd8712ad7755b88438d)
@@ -25,6 +25,6 @@
   public:
 	struct Qualifiers {
-		Qualifiers(): isConst( false ), isVolatile( false ), isRestrict( false ), isLvalue( false ), isAtomic( false ) {}
-		Qualifiers( bool isConst, bool isVolatile, bool isRestrict, bool isLvalue, bool isAtomic ): isConst( isConst ), isVolatile( isVolatile ), isRestrict( isRestrict ), isLvalue( isLvalue ), isAtomic( isAtomic ) {}
+		Qualifiers(): isConst( false ), isVolatile( false ), isRestrict( false ), isLvalue( false ), isAtomic( false ), isMutex( false ) {}
+		Qualifiers( bool isConst, bool isVolatile, bool isRestrict, bool isLvalue, bool isAtomic, bool isMutex ): isConst( isConst ), isVolatile( isVolatile ), isRestrict( isRestrict ), isLvalue( isLvalue ), isAtomic( isAtomic ), isMutex( isMutex ) {}
 
 		Qualifiers &operator&=( const Qualifiers &other );
@@ -45,4 +45,5 @@
 		bool isLvalue;
 		bool isAtomic;
+		bool isMutex;
 	};
 
@@ -511,4 +512,5 @@
 	isLvalue &= other.isLvalue;
 	isAtomic &= other.isAtomic;
+	isMutex &= other.isMutex;
 	return *this;
 }
@@ -520,4 +522,5 @@
 	isLvalue |= other.isLvalue;
 	isAtomic |= other.isAtomic;
+	isMutex |= other.isMutex;
 	return *this;
 }
@@ -528,4 +531,5 @@
 	if ( other.isRestrict ) isRestrict = 0;
 	if ( other.isAtomic ) isAtomic = 0;
+	if ( other.isMutex ) isMutex = 0;
 	return *this;
 }
Index: src/Tuples/TupleAssignment.cc
===================================================================
--- src/Tuples/TupleAssignment.cc	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/Tuples/TupleAssignment.cc	(revision c54b0b45ffaa82f6dc63dcd8712ad7755b88438d)
@@ -199,5 +199,5 @@
 				Type * type = InitTweak::getPointerBase( castType );
 				assert( type );
-				type->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true);
+				type->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false);
 				type->set_isLvalue( true ); // xxx - might not need this
 				expr = new CastExpr( expr, castType );
Index: src/Tuples/TupleExpansion.cc
===================================================================
--- src/Tuples/TupleExpansion.cc	(revision 3ad797844af57610cb183d9f4c3cf706eb466a8e)
+++ src/Tuples/TupleExpansion.cc	(revision c54b0b45ffaa82f6dc63dcd8712ad7755b88438d)
@@ -305,5 +305,5 @@
 	Type * makeTupleType( const std::list< Expression * > & exprs ) {
 		// produce the TupleType which aggregates the types of the exprs
-		TupleType *tupleType = new TupleType( Type::Qualifiers(true, true, true, true, true) );
+		TupleType *tupleType = new TupleType( Type::Qualifiers(true, true, true, true, true, true) );
 		Type::Qualifiers &qualifiers = tupleType->get_qualifiers();
 		for ( Expression * expr : exprs ) {
