]> granicus.if.org Git - clang/commitdiff
Reverting changes from r196415; this patch exposed a different, but unrelated bug...
authorAaron Ballman <aaron@aaronballman.com>
Fri, 6 Dec 2013 15:58:47 +0000 (15:58 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Fri, 6 Dec 2013 15:58:47 +0000 (15:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196583 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Attr.td
lib/Sema/TargetAttributesSema.cpp

index c5f78985c791adc87c187227ff3913e3a7563709..41e70f4302b205e3e1bb345cfc000a901e85695f 100644 (file)
@@ -920,10 +920,7 @@ def WeakRef : InheritableAttr {
 }
 
 def X86ForceAlignArgPointer : InheritableAttr, TargetSpecificAttr {
-  let Spellings = [GNU<"force_align_arg_pointer">];
-  // Technically, this appertains to a FunctionDecl, but the target-specific
-  // code silently allows anything function-like (such as typedefs or function
-  // pointers), but does not apply the attribute to them.
+  let Spellings = [];
 }
 
 // Attribute to disable AddressSanitizer (or equivalent) checks.
index 68f13494a3e84f0e3b9c62d4c3daf1e6986cb40b..e5eb591683ba62236a8264281a3eac678384de02 100644 (file)
@@ -233,7 +233,8 @@ namespace {
         }
       }
       if (Triple.getArch() != llvm::Triple::x86_64 &&
-          Attr.getKind() == AttributeList::AT_X86ForceAlignArgPointer) {
+          (Attr.getName()->getName() == "force_align_arg_pointer" ||
+           Attr.getName()->getName() == "__force_align_arg_pointer__")) {
         HandleX86ForceAlignArgPointerAttr(D, Attr, S);
         return true;
       }