Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 3fd8b0e5843090638b089c00c98afdee3dbe23be)
+++ src/SymTab/Validate.cc	(revision b16923de6f07e4eecb90f192170e17226caab592)
@@ -77,5 +77,5 @@
 class SwitchStmt;
 
-#define debugPrint( x ) if ( doDebug ) { std::cout << x; }
+#define debugPrint( x ) if ( doDebug ) x
 
 namespace SymTab {
@@ -207,5 +207,5 @@
 		typedef std::unique_ptr<TypedefDecl> TypedefDeclPtr;
 		typedef ScopedMap< std::string, std::pair< TypedefDeclPtr, int > > TypedefMap;
-		typedef std::map< std::string, TypeDecl * > TypeDeclMap;
+		typedef std::map< std::string, TypeDecl * > TypeDeclMap; // xxx - convert to ScopedMap
 		TypedefMap typedefNames;
 		TypeDeclMap typedeclNames;
@@ -561,5 +561,5 @@
 	void LinkReferenceToTypes::postvisit( EnumDecl *enumDecl ) {
 		// visit enum members first so that the types of self-referencing members are updated properly
-		if ( ! enumDecl->members.empty() ) {
+		if ( enumDecl->body ) {
 			ForwardEnumsType::iterator fwds = forwardEnums.find( enumDecl->name );
 			if ( fwds != forwardEnums.end() ) {
@@ -601,5 +601,5 @@
 		// visit struct members first so that the types of self-referencing members are updated properly
 		// xxx - need to ensure that type parameters match up between forward declarations and definition (most importantly, number of type parameters and their defaults)
-		if ( ! structDecl->members.empty() ) {
+		if ( structDecl->body ) {
 			ForwardStructsType::iterator fwds = forwardStructs.find( structDecl->name );
 			if ( fwds != forwardStructs.end() ) {
@@ -613,5 +613,5 @@
 
 	void LinkReferenceToTypes::postvisit( UnionDecl *unionDecl ) {
-		if ( ! unionDecl->members.empty() ) {
+		if ( unionDecl->body ) {
 			ForwardUnionsType::iterator fwds = forwardUnions.find( unionDecl->name );
 			if ( fwds != forwardUnions.end() ) {
