summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2013-12-06 15:58:47 +0000
committerAaron Ballman <aaron@aaronballman.com>2013-12-06 15:58:47 +0000
commita40bef25eebdb0bfc87b054d40048a5072798bac (patch)
tree3bcf2b2931b33ea3e0ae6d521b47bef1aa3de30e
parente0ab9e79361d24216c8459c0af3ebe3eed45c1fb (diff)
downloadbcm5719-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.td5
-rw-r--r--clang/lib/Sema/TargetAttributesSema.cpp3
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;
}
OpenPOWER on IntegriCloud