summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2011-11-19 17:09:36 +0000
committerdim <dim@FreeBSD.org>2011-11-19 17:09:36 +0000
commit1f3a72baf282a0f9b68c3e570a9d7b22750becc1 (patch)
treee8f7a45a7d5477353c9b0882fef9eaba26ec4551 /contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
parent874c4dfcfb89b304d7476b91b592a4adf9e610d3 (diff)
downloadFreeBSD-src-1f3a72baf282a0f9b68c3e570a9d7b22750becc1.zip
FreeBSD-src-1f3a72baf282a0f9b68c3e570a9d7b22750becc1.tar.gz
Pull in r144110 from upstream clang trunk:
Mark the overloaded atomic builtins as having custom type checking, which they do. This avoids all of the default argument promotions that we (1) don't want, and (2) undo during that custom type checking, and makes sure that we don't run into trouble during template instantiation. Fixes llvm/clang PR11320. MFC after: 1 week
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp8
1 files changed, 0 insertions, 8 deletions
diff --git a/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp b/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
index eaf7bfa..a6c49bb 100644
--- a/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
+++ b/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
@@ -803,14 +803,6 @@ Sema::SemaBuiltinAtomicOverloaded(ExprResult TheCallResult) {
for (unsigned i = 0; i != NumFixed; ++i) {
ExprResult Arg = TheCall->getArg(i+1);
- // If the argument is an implicit cast, then there was a promotion due to
- // "...", just remove it now.
- if (ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(Arg.get())) {
- Arg = ICE->getSubExpr();
- ICE->setSubExpr(0);
- TheCall->setArg(i+1, Arg.get());
- }
-
// GCC does an implicit conversion to the pointer or integer ValType. This
// can fail in some cases (1i -> int**), check for this error case now.
// Initialize the argument.
OpenPOWER on IntegriCloud