Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 4b8b2a40e17ac449a49d660761448c7b6b8dccb4)
+++ src/AST/Convert.cpp	(revision 1e30df7c247fd856856ad97d81bc81faecf5bcd5)
@@ -1615,4 +1615,5 @@
 			{ old->get_funcSpec().val }
 		);
+		decl->enumInLine = old->enumInLine;
 		cache.emplace(old, decl);
 		assert(cache.find( old ) != cache.end());
Index: src/AST/Decl.hpp
===================================================================
--- src/AST/Decl.hpp	(revision 4b8b2a40e17ac449a49d660761448c7b6b8dccb4)
+++ src/AST/Decl.hpp	(revision 1e30df7c247fd856856ad97d81bc81faecf5bcd5)
@@ -105,4 +105,7 @@
 	ptr<Init> init;
 	ptr<Expr> bitfieldWidth;
+	bool enumInLine = false; // A flag vairable to tell the compile:
+	// this is not a real object declaration. It is a place holder for 
+	// a set of enum value (ObjectDecl).
 
 	ObjectDecl( const CodeLocation & loc, const std::string & name, const Type * type,
