summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-11-08 19:45:38 +0000
committerDouglas Gregor <dgregor@apple.com>2011-11-08 19:45:38 +0000
commit6ea1d665a71089e313c5010d5c97c6ed2bbd9238 (patch)
tree2451785adc3b0c4c0d58e4dd032d1eecf3de3b60 /clang/lib/Sema/SemaChecking.cpp
parent27b8c4f3fb87148c56fb8dbb96474d8e8b98d6b8 (diff)
downloadbcm5719-llvm-6ea1d665a71089e313c5010d5c97c6ed2bbd9238.tar.gz
bcm5719-llvm-6ea1d665a71089e313c5010d5c97c6ed2bbd9238.zip
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 PR11320. llvm-svn: 144110
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--clang/lib/Sema/SemaChecking.cpp8
1 files changed, 0 insertions, 8 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index cd07358b159..6fbdb5163cf 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -852,14 +852,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