diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2013-12-06 15:58:47 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2013-12-06 15:58:47 +0000 |
| commit | a40bef25eebdb0bfc87b054d40048a5072798bac (patch) | |
| tree | 3bcf2b2931b33ea3e0ae6d521b47bef1aa3de30e | |
| parent | e0ab9e79361d24216c8459c0af3ebe3eed45c1fb (diff) | |
| download | bcm5719-llvm-a40bef25eebdb0bfc87b054d40048a5072798bac.tar.gz bcm5719-llvm-a40bef25eebdb0bfc87b054d40048a5072798bac.zip | |
Reverting changes from r196415; this patch exposed a different, but unrelated bug regarding the __has_attribute implementation. Reverting to unblock the Chrome tsan builds.
llvm-svn: 196583
| -rw-r--r-- | clang/include/clang/Basic/Attr.td | 5 | ||||
| -rw-r--r-- | clang/lib/Sema/TargetAttributesSema.cpp | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/clang/include/clang/Basic/Attr.td b/clang/include/clang/Basic/Attr.td index c5f78985c79..41e70f4302b 100644 --- a/clang/include/clang/Basic/Attr.td +++ b/clang/include/clang/Basic/Attr.td @@ -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. diff --git a/clang/lib/Sema/TargetAttributesSema.cpp b/clang/lib/Sema/TargetAttributesSema.cpp index 68f13494a3e..e5eb591683b 100644 --- a/clang/lib/Sema/TargetAttributesSema.cpp +++ b/clang/lib/Sema/TargetAttributesSema.cpp @@ -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; } |

