diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-02 14:55:48 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-02 14:55:48 +0000 |
commit | c242ef245c61731f9d7d0bcc3039761fbb786223 (patch) | |
tree | 49f9877895ff9081eac1b18d84463515b669a6b3 /clang/lib/Driver/Tools.cpp | |
parent | 0191bf8655855c20755bb2a094c99000299cbea7 (diff) | |
download | bcm5719-llvm-c242ef245c61731f9d7d0bcc3039761fbb786223.tar.gz bcm5719-llvm-c242ef245c61731f9d7d0bcc3039761fbb786223.zip |
Driver: Turn the default value for -fmath-errno into a proper target hook and disable it by default on more platforms.
For now -fno-math-errno is the default on BSD-derived platforms (Darwin,
DragonFlyBSD, FreeBSD, NetBSD, OpenBSD). If the default is not right for
your platform, please yell. I only verified the result with the default
compilers on Darwin and FreeBSD.
llvm-svn: 155990
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 2cf0c6747cf..6b3effb4d05 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1617,9 +1617,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, A->getOption().getID() != options::OPT_fhonor_nans) CmdArgs.push_back("-menable-no-nans"); - // -fno-math-errno is default on Darwin. Other platforms, -fmath-errno is the - // default. - bool MathErrno = !getToolChain().getTriple().isOSDarwin(); + // -fmath-errno is the default on some platforms, e.g. BSD-derived OSes. + bool MathErrno = getToolChain().IsMathErrnoDefault(); if (Arg *A = Args.getLastArg(options::OPT_ffast_math, options::OPT_fmath_errno, options::OPT_fno_math_errno)) |