Index: src/Parser/TypeData.h
===================================================================
--- src/Parser/TypeData.h	(revision f56c32e54c020031f40ff50223fe09a667f86da8)
+++ src/Parser/TypeData.h	(revision 0050a5ff3fdf8bc520652ac831418c77148183f4)
@@ -31,23 +31,23 @@
 	struct Aggregate_t {
 		DeclarationNode::Aggregate kind;
-		const std::string * name;
-		DeclarationNode * params;
-		ExpressionNode * actuals;						// holds actual parameters later applied to AggInst
-		DeclarationNode * fields;
+		const std::string * name = nullptr;
+		DeclarationNode * params = nullptr;
+		ExpressionNode * actuals = nullptr;						// holds actual parameters later applied to AggInst
+		DeclarationNode * fields = nullptr;
 		bool body;
 		bool anon;
 
 		bool tagged;
-		const std::string * parent;
+		const std::string * parent = nullptr;
 	};
 
 	struct AggInst_t {
-		TypeData * aggregate;
-		ExpressionNode * params;
+		TypeData * aggregate = nullptr;
+		ExpressionNode * params = nullptr;
 		bool hoistType;
 	};
 
 	struct Array_t {
-		ExpressionNode * dimension;
+		ExpressionNode * dimension = nullptr;
 		bool isVarLen;
 		bool isStatic;
@@ -55,6 +55,6 @@
 
 	struct Enumeration_t {
-		const std::string * name;
-		DeclarationNode * constants;
+		const std::string * name = nullptr;
+		DeclarationNode * constants = nullptr;
 		bool body;
 		bool anon;
@@ -62,22 +62,22 @@
 
 	struct Function_t {
-		mutable DeclarationNode * params;				// mutables modified in buildKRFunction
-		mutable DeclarationNode * idList;				// old-style
-		mutable DeclarationNode * oldDeclList;
-		StatementNode * body;
-		ExpressionNode * withExprs;						// expressions from function's with_clause
+		mutable DeclarationNode * params = nullptr;				// mutables modified in buildKRFunction
+		mutable DeclarationNode * idList = nullptr;				// old-style
+		mutable DeclarationNode * oldDeclList = nullptr;
+		StatementNode * body = nullptr;
+		ExpressionNode * withExprs = nullptr;						// expressions from function's with_clause
 	};
 
 	struct Symbolic_t {
-		const std::string * name;
+		const std::string * name = nullptr;
 		bool isTypedef;									// false => TYPEGENname, true => TYPEDEFname
-		DeclarationNode * params;
-		ExpressionNode * actuals;
-		DeclarationNode * assertions;
+		DeclarationNode * params = nullptr;
+		ExpressionNode * actuals = nullptr;
+		DeclarationNode * assertions = nullptr;
 	};
 
 	struct Qualified_t {								// qualified type S.T
-		TypeData * parent;
-		TypeData * child;
+		TypeData * parent = nullptr;
+		TypeData * child = nullptr;
 	};
 
@@ -93,5 +93,5 @@
 
 	Type::Qualifiers qualifiers;
-	DeclarationNode * forall;
+	DeclarationNode * forall = nullptr;
 
 	Aggregate_t aggregate;
@@ -102,6 +102,6 @@
 	Symbolic_t symbolic;
 	Qualified_t qualified;
-	DeclarationNode * tuple;
-	ExpressionNode * typeexpr;
+	DeclarationNode * tuple = nullptr;
+	ExpressionNode * typeexpr = nullptr;
 
 	TypeData( Kind k = Unknown );
Index: src/Parser/module.mk
===================================================================
--- src/Parser/module.mk	(revision f56c32e54c020031f40ff50223fe09a667f86da8)
+++ src/Parser/module.mk	(revision 0050a5ff3fdf8bc520652ac831418c77148183f4)
@@ -31,3 +31,7 @@
        Parser/parserutility.cc
 
+SRCDEMANGLE += \
+	Parser/LinkageSpec.cc
+
+
 MOSTLYCLEANFILES += Parser/lex.cc Parser/parser.cc Parser/parser.hh Parser/parser.output
