Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision d55d7a68246b165aeaa9e161109032ddd07146d8)
+++ src/Parser/TypeData.cc	(revision 0b0f1dd5a6f46d23ab33e2091192a9f415f7ad92)
@@ -31,5 +31,5 @@
 using namespace std;
 
-TypeData::TypeData( Kind k ) : kind( k ), base( nullptr ), forall( nullptr ) /*, PTR1( (void*)(0xdeadbeefdeadbeef)), PTR2( (void*)(0xdeadbeefdeadbeef) ) */ {
+TypeData::TypeData( Kind k ) : location( yylloc ), kind( k ), base( nullptr ), forall( nullptr ) /*, PTR1( (void*)(0xdeadbeefdeadbeef)), PTR2( (void*)(0xdeadbeefdeadbeef) ) */ {
 	switch ( kind ) {
 	  case Unknown:
@@ -800,5 +800,5 @@
 	assert( td->base );
 	if ( td->symbolic.isTypedef ) {
-		ret = new TypedefDecl( name, scs, typebuild( td->base ), linkage );
+		ret = new TypedefDecl( name, td->location, scs, typebuild( td->base ), linkage );
 	} else {
 		ret = new TypeDecl( name, scs, typebuild( td->base ), TypeDecl::Dtype, true );
Index: src/Parser/TypeData.h
===================================================================
--- src/Parser/TypeData.h	(revision d55d7a68246b165aeaa9e161109032ddd07146d8)
+++ src/Parser/TypeData.h	(revision 0b0f1dd5a6f46d23ab33e2091192a9f415f7ad92)
@@ -76,4 +76,6 @@
 	};
 
+	CodeLocation location;
+
 	Kind kind;
 	TypeData * base;
