Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision ea6332d2c7319372654f557cb69ec651fdc92331)
+++ src/Parser/ParseNode.h	(revision bd098eaec62bec74469554f5b20132dc02a69871)
@@ -25,4 +25,5 @@
 
 #include "Common/SemanticError.h"  // for SemanticError
+#include "Common/UniqueName.h"     // for UniqueName
 #include "Common/utility.h"        // for maybeClone, CodeLocation, maybeBuild
 #include "Parser/LinkageSpec.h"    // for Spec
@@ -39,5 +40,4 @@
 class Initializer;
 class StatementNode;
-class UniqueName;
 
 //##############################################################################
Index: src/Parser/TypedefTable.h
===================================================================
--- src/Parser/TypedefTable.h	(revision ea6332d2c7319372654f557cb69ec651fdc92331)
+++ src/Parser/TypedefTable.h	(revision bd098eaec62bec74469554f5b20132dc02a69871)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// TypedefTable.h -- 
+// TypedefTable.h --
 //
 // Author           : Rodolfo G. Esteves
@@ -21,4 +21,5 @@
 #include <string>     // for string
 
+#include "ParserTypes.h"
 #include "parser.hh"  // for IDENTIFIER, TYPEDEFname, TYPEGENname
 
@@ -31,5 +32,5 @@
 		kind_t kind;
 	};
-	
+
 	struct DeferredEntry {
 		std::string identifier;
@@ -43,9 +44,9 @@
 	std::string currentTrait;
 	int contextScope;
-	
+
 	typedef std::list< DeferredEntry > deferListType;
 	std::stack< deferListType > deferListStack;
 	std::map< std::string, deferListType > contexts;
-	
+
 	std::stack< std::string > nextIdentifiers;
 
@@ -69,16 +70,16 @@
 	void addToEnclosingScope( const std::string &identifier, kind_t kind );
 	void addToEnclosingScope( kind_t kind );		// use nextIdentifiers.top()
-	
+
 	// "addToEnclosingScope2" adds the identifier/type pair to the scope that encloses the scope enclosing the the
 	// current one.  This is the right way to handle assertion names
 	void addToEnclosingScope2( const std::string &identifier, kind_t kind );
 	void addToEnclosingScope2( kind_t kind );		// use nextIdentifiers.top()
-	
+
 	// set the next identifier to be used by an "add" operation without an identifier parameter within the current scope
 	void setNextIdentifier( const std::string &identifier );
-	
+
 	// dump the definitions from a pre-defined context into the current scope
 	void openTrait( const std::string &contextName );
-	
+
 	void enterScope();
 	void leaveScope();
