Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 56e49b0f2a7f4c543915bdf9e4bd2fa65be2d947)
+++ src/SymTab/Validate.cc	(revision e1780a25bb3bcc2a648b6f83ef973a84ff0e7ca4)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 21:50:04 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar 30 16:50:13 2017
-// Update Count     : 357
+// Last Modified By : Andrew Beach
+// Last Modified On : Tus Aug  8 13:27:00 2017
+// Update Count     : 358
 //
 
@@ -686,9 +686,9 @@
 		Type *designatorType = tyDecl->get_base()->stripDeclarator();
 		if ( StructInstType *aggDecl = dynamic_cast< StructInstType * >( designatorType ) ) {
-			return new StructDecl( aggDecl->get_name() );
+			return new StructDecl( aggDecl->get_name(), DeclarationNode::Struct, noAttributes, tyDecl->get_linkage() );
 		} else if ( UnionInstType *aggDecl = dynamic_cast< UnionInstType * >( designatorType ) ) {
-			return new UnionDecl( aggDecl->get_name() );
+			return new UnionDecl( aggDecl->get_name(), noAttributes, tyDecl->get_linkage() );
 		} else if ( EnumInstType *enumDecl = dynamic_cast< EnumInstType * >( designatorType ) ) {
-			return new EnumDecl( enumDecl->get_name() );
+			return new EnumDecl( enumDecl->get_name(), noAttributes, tyDecl->get_linkage() );
 		} else {
 			return ret->clone();
@@ -783,5 +783,5 @@
 				type = new EnumInstType( Type::Qualifiers(), newDeclEnumDecl->get_name() );
 			} // if
-			TypedefDeclPtr tyDecl( new TypedefDecl( aggDecl->get_name(), Type::StorageClasses(), type ) );
+			TypedefDeclPtr tyDecl( new TypedefDecl( aggDecl->get_name(), Type::StorageClasses(), type, aggDecl->get_linkage() ) );
 			typedefNames[ aggDecl->get_name() ] = std::make_pair( std::move( tyDecl ), scopeLevel );
 		} // if
