From c95cfe876ed3dbc78cfaf6c61d799d11704e81b9 Mon Sep 17 00:00:00 2001 From: Eli Bendersky Date: Wed, 24 Jul 2013 18:20:14 +0000 Subject: [PATCH] Pass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch. llvm-svn: 187061 --- clang/lib/Driver/Tools.cpp | 7 +++++++ clang/test/Driver/le32-toolchain.c | 4 ++++ 2 files changed, 11 insertions(+) create mode 100644 clang/test/Driver/le32-toolchain.c diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 83aab8db4d72..28bf5dddeb69 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -3476,6 +3476,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, options::OPT_fno_apple_pragma_pack, false)) CmdArgs.push_back("-fapple-pragma-pack"); + // le32-specific flags: + // -fno-math-builtin: clang should not convert math builtins to intrinsics + // by default. + if (getToolChain().getArch() == llvm::Triple::le32) { + CmdArgs.push_back("-fno-math-builtin"); + } + // Default to -fno-builtin-str{cat,cpy} on Darwin for ARM. // // FIXME: This is disabled until clang -cc1 supports -fno-builtin-foo. PR4941. diff --git a/clang/test/Driver/le32-toolchain.c b/clang/test/Driver/le32-toolchain.c new file mode 100644 index 000000000000..bab550262edd --- /dev/null +++ b/clang/test/Driver/le32-toolchain.c @@ -0,0 +1,4 @@ +// RUN: %clang -### -target le32-unknown-nacl %s 2>&1 | FileCheck -check-prefix=CHECK-DEFAULT %s + +// CHECK-DEFAULT: "-cc1" {{.*}} "-fno-math-builtin" +