fix a bug handling type attributes in the declspec. declspec processing
used to mutate the attribute list for declspecs when the type was
converted, breaking the case where one declspec was shared by multiple
declarators.
This fixes rdar://6032532.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52769 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 89d0d40..278c841 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -198,8 +198,8 @@
//===--------------------------------------------------------------------===//
// Type Analysis / Processing: SemaType.cpp.
//
- QualType ConvertDeclSpecToType(DeclSpec &DS);
- AttributeList *ProcessTypeAttributes(QualType &Result, AttributeList *AL);
+ QualType ConvertDeclSpecToType(const DeclSpec &DS);
+ void ProcessTypeAttributes(QualType &Result, const AttributeList *AL);
QualType GetTypeForDeclarator(Declarator &D, Scope *S);
@@ -305,7 +305,7 @@
/// The raw attribute contains 1 argument, the id of the address space
/// for the type.
QualType HandleAddressSpaceTypeAttribute(QualType curType,
- AttributeList *rawAttr);
+ const AttributeList *rawAttr);
/// HandleModeTypeAttribute - this attribute modifies the width of a
/// primitive type. Note that this is a variable attribute, and not