Changed declarations from Attr to InheritableAttr as they are already being processed that way semantically.

Patch thanks to Dean Sutherland!  Reviewed by Eli Friedman.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186598 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
index cdb567d..8c820a0 100644
--- a/include/clang/Basic/Attr.td
+++ b/include/clang/Basic/Attr.td
@@ -169,13 +169,13 @@
 
 def AlignMac68k : InheritableAttr {
   let Spellings = [];
-  let SemaHandler = 0;
-}
-
-def AllocSize : Attr {
-  let Spellings = [GNU<"alloc_size">, CXX11<"gnu", "alloc_size">];
-  let Args = [VariadicUnsignedArgument<"Args">];
-}
+  let SemaHandler = 0;

+}

+

+def AllocSize : InheritableAttr {

+  let Spellings = [GNU<"alloc_size">, CXX11<"gnu", "alloc_size">];

+  let Args = [VariadicUnsignedArgument<"Args">];

+}

 
 def AlwaysInline : InheritableAttr {
   let Spellings = [GNU<"always_inline">, CXX11<"gnu", "always_inline">];
@@ -323,17 +323,17 @@
 
 def CXX11NoReturn : InheritableAttr {
   let Spellings = [CXX11<"","noreturn">, CXX11<"std","noreturn">];
-  let Subjects = [Function];
-}
-
-def OpenCLKernel : Attr {
-  let Spellings = [Keyword<"__kernel">, Keyword<"kernel">];
-}
-
-def OpenCLImageAccess : Attr {
-  let Spellings = [GNU<"opencl_image_access">];
-  let Args = [IntArgument<"Access">];
-}
+  let Subjects = [Function];

+}

+

+def OpenCLKernel : InheritableAttr {

+  let Spellings = [Keyword<"__kernel">, Keyword<"kernel">];

+}

+

+def OpenCLImageAccess : Attr {

+  let Spellings = [GNU<"opencl_image_access">];

+  let Args = [IntArgument<"Access">];

+}

 
 def Deprecated : InheritableAttr {
   let Spellings = [GNU<"deprecated">, CXX11<"gnu", "deprecated">];
@@ -342,13 +342,13 @@
 
 def Destructor : InheritableAttr {
   let Spellings = [GNU<"destructor">, CXX11<"gnu", "destructor">];
-  let Args = [IntArgument<"Priority">];
-}
-
-def ExtVectorType : Attr {
-  let Spellings = [GNU<"ext_vector_type">];
-  let Args = [ExprArgument<"NumElements">];
-  let ASTNode = 0;
+  let Args = [IntArgument<"Priority">];

+}

+

+def ExtVectorType : Attr {

+  let Spellings = [GNU<"ext_vector_type">];

+  let Args = [ExprArgument<"NumElements">];

+  let ASTNode = 0;

 }
 
 def FallThrough : Attr {
@@ -435,13 +435,13 @@
 
 def Mips16 : InheritableAttr {
   let Spellings = [GNU<"mips16">, CXX11<"gnu", "mips16">];
-  let Subjects = [Function];
-}
-
-def Mode : Attr {
-  let Spellings = [GNU<"mode">, CXX11<"gnu", "mode">];
-  let Args = [IdentifierArgument<"Mode">];
-}
+  let Subjects = [Function];

+}

+

+def Mode : Attr {

+  let Spellings = [GNU<"mode">, CXX11<"gnu", "mode">];

+  let Args = [IdentifierArgument<"Mode">];

+}

 
 def Naked : InheritableAttr {
   let Spellings = [GNU<"naked">, CXX11<"gnu", "naked">];
@@ -554,28 +554,28 @@
 }
 
 def ObjCNSObject : InheritableAttr {
-  let Spellings = [GNU<"NSObject">];
-}
-
-def ObjCPreciseLifetime : Attr {
-  let Spellings = [GNU<"objc_precise_lifetime">];
-  let Subjects = [Var];
-}
-
-def ObjCReturnsInnerPointer : Attr {
-  let Spellings = [GNU<"objc_returns_inner_pointer">];
-  let Subjects = [ObjCMethod];
-}
+  let Spellings = [GNU<"NSObject">];

+}

+

+def ObjCPreciseLifetime : InheritableAttr {

+  let Spellings = [GNU<"objc_precise_lifetime">];

+  let Subjects = [Var];

+}

+

+def ObjCReturnsInnerPointer : InheritableAttr {

+  let Spellings = [GNU<"objc_returns_inner_pointer">];

+  let Subjects = [ObjCMethod];

+}

 
 def ObjCRequiresSuper : InheritableAttr {
   let Spellings = [GNU<"objc_requires_super">];
-  let Subjects = [ObjCMethod];
-}
-
-def ObjCRootClass : Attr {
-  let Spellings = [GNU<"objc_root_class">];
-  let Subjects = [ObjCInterface];
-}
+  let Subjects = [ObjCMethod];

+}

+

+def ObjCRootClass : InheritableAttr {

+  let Spellings = [GNU<"objc_root_class">];

+  let Subjects = [ObjCInterface];

+}

 
 def Overloadable : Attr {
   let Spellings = [GNU<"overloadable">];
@@ -689,13 +689,13 @@
 def ObjCGC : Attr {
   let Spellings = [GNU<"objc_gc">];
   let Args = [IdentifierArgument<"Kind">];
-  let ASTNode = 0;
-}
-
-def ObjCOwnership : Attr {
-  let Spellings = [GNU<"objc_ownership">];
-  let Args = [IdentifierArgument<"Kind">];
-  let ASTNode = 0;
+  let ASTNode = 0;

+}

+

+def ObjCOwnership : InheritableAttr {

+  let Spellings = [GNU<"objc_ownership">];

+  let Args = [IdentifierArgument<"Kind">];

+  let ASTNode = 0;

 }
 
 def ObjCRequiresPropertyDefs : InheritableAttr {