Index: src/Common/Assert.cc
===================================================================
--- src/Common/Assert.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Common/Assert.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,8 +10,7 @@
 // Created On       : Thu Aug 18 13:26:59 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 18 16:32:47 2016
-// Update Count     : 7
+// Last Modified On : Thu Aug 18 23:40:29 2016
+// Update Count     : 8
 // 
-
 
 #include <assert.h>
Index: src/Common/CompilerError.h
===================================================================
--- src/Common/CompilerError.h	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Common/CompilerError.h	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 19 07:20:37 2015
-// Update Count     : 2
+// Last Modified On : Thu Aug 18 23:41:30 2016
+// Update Count     : 3
 //
 
@@ -18,5 +18,4 @@
 
 #include <string>
-//#include "../config.h"
 
 class CompilerError : public std::exception {
Index: src/Parser/DeclarationNode.cc
===================================================================
--- src/Parser/DeclarationNode.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/DeclarationNode.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 12:34:05 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 23:14:51 2016
-// Update Count     : 181
+// Last Modified On : Thu Aug 18 23:48:23 2016
+// Update Count     : 182
 //
 
@@ -41,5 +41,5 @@
 UniqueName DeclarationNode::anonymous( "__anonymous" );
 
-extern LinkageSpec::Type linkage;						// defined in parser.yy
+extern LinkageSpec::Spec linkage;						// defined in parser.yy
 
 DeclarationNode *DeclarationNode::clone() const {
Index: src/Parser/LinkageSpec.cc
===================================================================
--- src/Parser/LinkageSpec.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/LinkageSpec.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:22:09 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 23:02:37 2016
-// Update Count     : 11
+// Last Modified On : Thu Aug 18 23:47:14 2016
+// Update Count     : 12
 // 
 
@@ -20,5 +20,5 @@
 #include "Common/SemanticError.h"
 
-LinkageSpec::Type LinkageSpec::fromString( const std::string &stringSpec ) {
+LinkageSpec::Spec LinkageSpec::fromString( const std::string &stringSpec ) {
 	if ( stringSpec == "\"Cforall\"" ) {
 		return Cforall;
@@ -30,6 +30,6 @@
 }
 
-std::string LinkageSpec::toString( LinkageSpec::Type linkage ) {
-	static const char *linkageKinds[LinkageSpec::NoOfTypes] = {
+std::string LinkageSpec::toString( LinkageSpec::Spec linkage ) {
+	static const char *linkageKinds[LinkageSpec::NoOfSpecs] = {
 		"intrinsic", "Cforall", "C", "automatically generated", "compiler built-in",
 	};
@@ -37,39 +37,39 @@
 }
 
-bool LinkageSpec::isDecoratable( Type t ) {
-	static bool decoratable[LinkageSpec::NoOfTypes] = {
+bool LinkageSpec::isDecoratable( Spec t ) {
+	static bool decoratable[LinkageSpec::NoOfSpecs] = {
 		//	Intrinsic,	Cforall,	C,		AutoGen,	Compiler
 			true,		true,		false,	true,		false, 
 	};
-	return decoratable[ t ];
+	return decoratable[t];
 }
 
-bool LinkageSpec::isGeneratable( Type t ) {
-	static bool generatable[LinkageSpec::NoOfTypes] = {
+bool LinkageSpec::isGeneratable( Spec t ) {
+	static bool generatable[LinkageSpec::NoOfSpecs] = {
 		//	Intrinsic,	Cforall,	C,		AutoGen,	Compiler
 			true,		true,		true,	true,		false, 
 	};
-	return generatable[ t ];
+	return generatable[t];
 }
 
-bool LinkageSpec::isOverloadable( Type t ) {
+bool LinkageSpec::isOverloadable( Spec t ) {
 	return isDecoratable( t );
 }
 
 
-bool LinkageSpec::isOverridable( Type t ) {
-	static bool overridable[LinkageSpec::NoOfTypes] = {
+bool LinkageSpec::isOverridable( Spec t ) {
+	static bool overridable[LinkageSpec::NoOfSpecs] = {
 		//	Intrinsic,	Cforall,	C,		AutoGen,	Compiler
 			true,		false,		false,	true,		false, 
 	};
-	return overridable[ t ];
+	return overridable[t];
 }
 
-bool LinkageSpec::isBuiltin( Type t ) {
-	static bool builtin[LinkageSpec::NoOfTypes] = {
+bool LinkageSpec::isBuiltin( Spec t ) {
+	static bool builtin[LinkageSpec::NoOfSpecs] = {
 		//	Intrinsic,	Cforall,	C,		AutoGen,	Compiler
 			true,		false,		false,	false,		true, 
 	};
-	return builtin[ t ];
+	return builtin[t];
 }
 
Index: src/Parser/LinkageSpec.h
===================================================================
--- src/Parser/LinkageSpec.h	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/LinkageSpec.h	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:24:28 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 22:19:48 2016
-// Update Count     : 6
+// Last Modified On : Thu Aug 18 23:47:16 2016
+// Update Count     : 7
 //
 
@@ -20,5 +20,5 @@
 
 struct LinkageSpec {
-	enum Type {
+	enum Spec {
 		Intrinsic,										// C built-in defined in prelude
 		Cforall,										// ordinary
@@ -26,15 +26,15 @@
 		AutoGen,										// built by translator (struct assignment)
 		Compiler,										// gcc internal
-		NoOfTypes
+		NoOfSpecs
 	};
   
-	static Type fromString( const std::string & );
-	static std::string toString( Type );
+	static Spec fromString( const std::string & );
+	static std::string toString( Spec );
   
-	static bool isDecoratable( Type );
-	static bool isGeneratable( Type );
-	static bool isOverloadable( Type );
-	static bool isOverridable( Type );
-	static bool isBuiltin( Type );
+	static bool isDecoratable( Spec );
+	static bool isGeneratable( Spec );
+	static bool isOverloadable( Spec );
+	static bool isOverridable( Spec );
+	static bool isBuiltin( Spec );
 };
 
Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/ParseNode.h	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:28:16 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 23:15:59 2016
-// Update Count     : 541
+// Last Modified On : Thu Aug 18 23:48:37 2016
+// Update Count     : 542
 //
 
@@ -273,5 +273,5 @@
 	bool get_hasEllipsis() const;
 	const std::string &get_name() const { return name; }
-	LinkageSpec::Type get_linkage() const { return linkage; }
+	LinkageSpec::Spec get_linkage() const { return linkage; }
 	DeclarationNode *extractAggregate() const;
 	ExpressionNode *get_enumeratorValue() const { return enumeratorValue; }
@@ -293,5 +293,5 @@
 	InitializerNode *initializer;
 	bool hasEllipsis;
-	LinkageSpec::Type linkage;
+	LinkageSpec::Spec linkage;
 	bool extension = false;
 	std::string error;
Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/TypeData.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 08:47:48 2016
-// Update Count     : 63
+// Last Modified On : Thu Aug 18 23:48:44 2016
+// Update Count     : 64
 //
 
@@ -478,5 +478,5 @@
 }
 
-Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init ) const {
+Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, Initializer *init ) const {
 	if ( kind == TypeData::Function ) {
 		FunctionDecl *decl;
Index: src/Parser/TypeData.h
===================================================================
--- src/Parser/TypeData.h	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/TypeData.h	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:18:36 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Aug 15 14:28:32 2016
-// Update Count     : 21
+// Last Modified On : Thu Aug 18 23:48:52 2016
+// Update Count     : 22
 //
 
@@ -126,5 +126,5 @@
 	TypeData * extractAggregate( bool toplevel = true ) const;
 	// helper function for DeclNodeImpl::build
-	Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer * init = 0 ) const;
+	Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, Initializer * init = 0 ) const;
 	// helper functions for build()
 	Type::Qualifiers buildQualifiers() const;
Index: src/Parser/parser.cc
===================================================================
--- src/Parser/parser.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/parser.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -84,8 +84,8 @@
 
 extern DeclarationNode * parseTree;
-extern LinkageSpec::Type linkage;
+extern LinkageSpec::Spec linkage;
 extern TypedefTable typedefTable;
 
-std::stack< LinkageSpec::Type > linkageStack;
+std::stack< LinkageSpec::Spec > linkageStack;
 
 void appendStr( std::string &to, std::string *from ) {
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/Parser/parser.yy	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 11:18:40 2016
-// Update Count     : 1908
+// Last Modified On : Thu Aug 18 23:49:10 2016
+// Update Count     : 1909
 //
 
@@ -56,8 +56,8 @@
 
 extern DeclarationNode * parseTree;
-extern LinkageSpec::Type linkage;
+extern LinkageSpec::Spec linkage;
 extern TypedefTable typedefTable;
 
-std::stack< LinkageSpec::Type > linkageStack;
+std::stack< LinkageSpec::Spec > linkageStack;
 
 void appendStr( std::string &to, std::string *from ) {
Index: src/SynTree/Declaration.cc
===================================================================
--- src/SynTree/Declaration.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/SynTree/Declaration.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Dec 09 14:08:29 2015
-// Update Count     : 12
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Aug 18 23:49:57 2016
+// Update Count     : 13
 //
 
@@ -27,5 +27,5 @@
 static IdMapType idMap;
 
-Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
+Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage )
 		: name( name ), storageClass( sc ), linkage( linkage ), isInline( false ), isNoreturn( false ), uniqueId( 0 ) {
 }
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/SynTree/Declaration.h	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul 12 21:03:17 2016
-// Update Count     : 39
+// Last Modified On : Thu Aug 18 23:50:24 2016
+// Update Count     : 40
 //
 
@@ -26,5 +26,5 @@
 class Declaration {
   public:
-	Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
+	Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage );
 	Declaration( const Declaration &other );
 	virtual ~Declaration();
@@ -34,6 +34,6 @@
 	DeclarationNode::StorageClass get_storageClass() const { return storageClass; }
 	void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }
-	LinkageSpec::Type get_linkage() const { return linkage; }
-	void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; }
+	LinkageSpec::Spec get_linkage() const { return linkage; }
+	void set_linkage( LinkageSpec::Spec newValue ) { linkage = newValue; }
 	bool get_isInline() const { return isInline; }
 	void set_isInline( bool newValue ) { isInline = newValue; }
@@ -56,5 +56,5 @@
 	std::string name;
 	DeclarationNode::StorageClass storageClass;
-	LinkageSpec::Type linkage;
+	LinkageSpec::Spec linkage;
 	bool isInline, isNoreturn;
 	UniqueId uniqueId;
@@ -64,5 +64,5 @@
 class DeclarationWithType : public Declaration {
   public:
-	DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, const std::list< Attribute * > & attributes );
+	DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes );
 	DeclarationWithType( const DeclarationWithType &other );
 	virtual ~DeclarationWithType();
@@ -97,5 +97,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes = std::list< Attribute * >(), bool isInline = false, bool isNoreturn = false );
+	ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes = std::list< Attribute * >(), bool isInline = false, bool isNoreturn = false );
 	ObjectDecl( const ObjectDecl &other );
 	virtual ~ObjectDecl();
@@ -123,5 +123,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn, const std::list< Attribute * > attributes = std::list< Attribute * >() );
+	FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn, const std::list< Attribute * > attributes = std::list< Attribute * >() );
 	FunctionDecl( const FunctionDecl &other );
 	virtual ~FunctionDecl();
Index: src/SynTree/DeclarationWithType.cc
===================================================================
--- src/SynTree/DeclarationWithType.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/SynTree/DeclarationWithType.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Mon Apr 11 15:35:27 2016
-// Update Count     : 3
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Aug 18 23:50:41 2016
+// Update Count     : 4
 //
 
@@ -19,5 +19,5 @@
 #include "Common/utility.h"
 
-DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, const std::list< Attribute * > & attributes )
+DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes )
 		: Declaration( name, sc, linkage ), attributes( attributes ) {
 }
Index: src/SynTree/FunctionDecl.cc
===================================================================
--- src/SynTree/FunctionDecl.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/SynTree/FunctionDecl.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri May 06 15:59:48 2016
-// Update Count     : 19
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Aug 18 23:50:14 2016
+// Update Count     : 20
 //
 
@@ -22,5 +22,5 @@
 #include "Common/utility.h"
 
-FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn, std::list< Attribute * > attributes )
+FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn, std::list< Attribute * > attributes )
 		: Parent( name, sc, linkage, attributes ), type( type ), statements( statements ) {
 	set_isInline( isInline );
Index: src/SynTree/ObjectDecl.cc
===================================================================
--- src/SynTree/ObjectDecl.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/SynTree/ObjectDecl.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri May 13 13:23:32 2016
-// Update Count     : 30
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Aug 18 23:50:33 2016
+// Update Count     : 31
 //
 
@@ -22,5 +22,5 @@
 #include "Statement.h"
 
-ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes, bool isInline, bool isNoreturn )
+ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes, bool isInline, bool isNoreturn )
 	: Parent( name, sc, linkage, attributes ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) {
 	set_isInline( isInline );
Index: src/main.cc
===================================================================
--- src/main.cc	(revision f48796253086f286380820a4db1a40c0e294738d)
+++ src/main.cc	(revision 8b7ee0974cc08327cc6c696da347e0f8d3d1f50c)
@@ -10,6 +10,6 @@
 // Created On       : Fri May 15 23:12:02 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 18 16:33:49 2016
-// Update Count     : 347
+// Last Modified On : Fri Aug 19 08:31:22 2016
+// Update Count     : 350
 //
 
@@ -43,5 +43,5 @@
 
 
-LinkageSpec::Type linkage = LinkageSpec::Cforall;
+LinkageSpec::Spec linkage = LinkageSpec::Cforall;
 TypedefTable typedefTable;
 DeclarationNode * parseTree = nullptr;					// program parse tree
@@ -67,5 +67,5 @@
 
 static void parse_cmdline( int argc, char *argv[], const char *& filename );
-static void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false );
+static void parse( FILE * input, LinkageSpec::Spec linkage, bool shouldExit = false );
 static void dump( std::list< Declaration * > & translationUnit, std::ostream & out = std::cout );
 
@@ -348,10 +348,10 @@
 } // parse_cmdline
 
-static void parse( FILE * input, LinkageSpec::Type link, bool shouldExit ) {
+static void parse( FILE * input, LinkageSpec::Spec linkage, bool shouldExit ) {
 	extern int yyparse( void );
 	extern FILE * yyin;
 	extern int yylineno;
 
-	linkage = link;										// set globals
+	::linkage = linkage;								// set globals
 	yyin = input;
 	yylineno = 1;
