diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-06 20:03:09 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-06 20:03:09 +0000 |
commit | 52a27f5be98d99fd5339949d8a3d0b2aec655e0b (patch) | |
tree | 3afe2106486a77320ff1b78e44b0a278e5845fea | |
parent | b4fa418a72759dfe34add850837965cbc00626e4 (diff) |
Revert r147655; it's breaking the compiler_rt build on OSX.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147677 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGBuiltin.cpp | 3 | ||||
-rw-r--r-- | test/CodeGen/no-builtin.c | 20 |
2 files changed, 1 insertions, 22 deletions
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index f462ee62ad..3e5a6772eb 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -175,8 +175,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD, unsigned BuiltinID, const CallExpr *E) { // See if we can constant fold this builtin. If so, don't emit it at all. Expr::EvalResult Result; - if (!getContext().getLangOptions().NoBuiltin && - E->EvaluateAsRValue(Result, CGM.getContext()) && + if (E->EvaluateAsRValue(Result, CGM.getContext()) && !Result.hasSideEffects()) { if (Result.Val.isInt()) return RValue::get(llvm::ConstantInt::get(getLLVMContext(), diff --git a/test/CodeGen/no-builtin.c b/test/CodeGen/no-builtin.c deleted file mode 100644 index ff1c192481..0000000000 --- a/test/CodeGen/no-builtin.c +++ /dev/null @@ -1,20 +0,0 @@ -// RUN: %clang_cc1 -fno-builtin -emit-llvm %s -o - | FileCheck %s -// -// Check that -fno-builtin prevents us from constant-folding through builtins -// (PR11711) - -double -cos(double x) -{ - printf("ok\n"); - exit(0); -} - -int -main(int argc, char *argv[]) -{ - cos(1); // CHECK: cos - printf("not ok\n"); - abort(); -} - |