From: Eli Friedman Date: Fri, 6 Jan 2012 20:03:09 +0000 (+0000) Subject: Revert r147655; it's breaking the compiler_rt build on OSX. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=52a27f5be98d99fd5339949d8a3d0b2aec655e0b;p=clang 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 --- 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(); -} -