Index: src/Parser/TypeData.cpp
===================================================================
--- src/Parser/TypeData.cpp	(revision a35e34220bcc3a0cc1bb85804bab226c7523800f)
+++ src/Parser/TypeData.cpp	(revision c494b84f8d8be86bded8840569749f2bc29a8458)
@@ -1454,6 +1454,12 @@
 	assert( td->kind == TypeData::Aggregate );
 	assert( td->aggregate.kind == ast::AggregateDecl::Enum );
-	ast::ptr<ast::Type> baseType = td->base ? typebuild(td->base) : nullptr;
-
+	ast::ptr<ast::Type> baseType;
+	if ( td->base ) {
+		if ( td->base->kind == TypeData::Aggregate ) {
+			baseType = buildComAggInst( td->base, copy(attributes), linkage );
+		} else {
+			baseType = typebuild( td->base );
+		}
+	}
 	ast::EnumDecl * ret = new ast::EnumDecl(
 		td->location,
