Index: src/SymTab/Autogen.cc
===================================================================
--- src/SymTab/Autogen.cc	(revision e1f7eefc84701acc2af857cd1c484e5650e81cba)
+++ src/SymTab/Autogen.cc	(revision bee06942613823dfa3adc6451bf356922ada830e)
@@ -264,5 +264,5 @@
 		LinkageSpec::Spec spec = isIntrinsic ? LinkageSpec::Intrinsic : LinkageSpec::AutoGen;
 		FunctionDecl * decl = new FunctionDecl( fname, scs, spec, ftype, new CompoundStmt(),
-												std::list< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) );
+												std::vector< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) );
 		decl->fixUniqueId();
 		return decl;
@@ -692,11 +692,11 @@
 					TypeInstType * inst = new TypeInstType( Type::Qualifiers(), newDecl->get_name(), newDecl );
 					newDecl->get_assertions().push_back( new FunctionDecl( "?=?", Type::StorageClasses(), LinkageSpec::Cforall, genAssignType( inst ), nullptr,
-																		   std::list< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
+																		   std::vector< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
 					newDecl->get_assertions().push_back( new FunctionDecl( "?{}", Type::StorageClasses(), LinkageSpec::Cforall, genDefaultType( inst ), nullptr,
-																		   std::list< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
+																		   std::vector< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
 					newDecl->get_assertions().push_back( new FunctionDecl( "?{}", Type::StorageClasses(), LinkageSpec::Cforall, genCopyType( inst ), nullptr,
-																		   std::list< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
+																		   std::vector< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
 					newDecl->get_assertions().push_back( new FunctionDecl( "^?{}", Type::StorageClasses(), LinkageSpec::Cforall, genDefaultType( inst ), nullptr,
-																		   std::list< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
+																		   std::vector< Attribute * >(), Type::FuncSpecifiers( Type::Inline ) ) );
 					typeParams.push_back( newDecl );
 					done.insert( ty->get_baseType() );
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision e1f7eefc84701acc2af857cd1c484e5650e81cba)
+++ src/SymTab/Validate.cc	(revision bee06942613823dfa3adc6451bf356922ada830e)
@@ -912,5 +912,5 @@
 			// attributes are not carried over from typedef to function parameters/return values
 			if ( ! inFunctionType ) {
-				ret->attributes.splice( ret->attributes.end(), typeInst->attributes );
+				ret->attributes.insert( ret->attributes.end(), typeInst->attributes.begin(), typeInst->attributes.end() );
 			} else {
 				deleteAll( ret->attributes );
