[PATCH] D51068: [Android] Default to -fno-math-errno
This revision was automatically updated to reflect the committed changes. Closed by commit rL340424: [Android] Default to -fno-math-errno (authored by pirama, committed by ). Herald added a subscriber: llvm-commits. Repository: rL LLVM https://reviews.llvm.org/D51068 Files: cfe/trunk/lib/Driver/ToolChains/Linux.cpp cfe/trunk/lib/Driver/ToolChains/Linux.h cfe/trunk/test/Driver/fast-math.c Index: cfe/trunk/test/Driver/fast-math.c === --- cfe/trunk/test/Driver/fast-math.c +++ cfe/trunk/test/Driver/fast-math.c @@ -95,6 +95,8 @@ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // RUN: %clang -### -target x86_64-fuchsia -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s +// RUN: %clang -### -target x86_64-linux-android -c %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // // Check that -ffast-math disables -fmath-errno, and -fno-fast-math merely // preserves the target default. Also check various flag set operations between Index: cfe/trunk/lib/Driver/ToolChains/Linux.h === --- cfe/trunk/lib/Driver/ToolChains/Linux.h +++ cfe/trunk/lib/Driver/ToolChains/Linux.h @@ -38,6 +38,7 @@ void AddIAMCUIncludeArgs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; bool isPIEDefault() const override; + bool IsMathErrnoDefault() const override; SanitizerMask getSupportedSanitizers() const override; void addProfileRTLibs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; Index: cfe/trunk/lib/Driver/ToolChains/Linux.cpp === --- cfe/trunk/lib/Driver/ToolChains/Linux.cpp +++ cfe/trunk/lib/Driver/ToolChains/Linux.cpp @@ -907,6 +907,12 @@ getTriple().isMusl() || getSanitizerArgs().requiresPIE(); } +bool Linux::IsMathErrnoDefault() const { + if (getTriple().isAndroid()) +return false; + return Generic_ELF::IsMathErrnoDefault(); +} + SanitizerMask Linux::getSupportedSanitizers() const { const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; Index: cfe/trunk/test/Driver/fast-math.c === --- cfe/trunk/test/Driver/fast-math.c +++ cfe/trunk/test/Driver/fast-math.c @@ -95,6 +95,8 @@ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // RUN: %clang -### -target x86_64-fuchsia -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s +// RUN: %clang -### -target x86_64-linux-android -c %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // // Check that -ffast-math disables -fmath-errno, and -fno-fast-math merely // preserves the target default. Also check various flag set operations between Index: cfe/trunk/lib/Driver/ToolChains/Linux.h === --- cfe/trunk/lib/Driver/ToolChains/Linux.h +++ cfe/trunk/lib/Driver/ToolChains/Linux.h @@ -38,6 +38,7 @@ void AddIAMCUIncludeArgs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; bool isPIEDefault() const override; + bool IsMathErrnoDefault() const override; SanitizerMask getSupportedSanitizers() const override; void addProfileRTLibs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; Index: cfe/trunk/lib/Driver/ToolChains/Linux.cpp === --- cfe/trunk/lib/Driver/ToolChains/Linux.cpp +++ cfe/trunk/lib/Driver/ToolChains/Linux.cpp @@ -907,6 +907,12 @@ getTriple().isMusl() || getSanitizerArgs().requiresPIE(); } +bool Linux::IsMathErrnoDefault() const { + if (getTriple().isAndroid()) +return false; + return Generic_ELF::IsMathErrnoDefault(); +} + SanitizerMask Linux::getSupportedSanitizers() const { const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D51068: [Android] Default to -fno-math-errno
srhines accepted this revision. srhines added inline comments. This revision is now accepted and ready to land. Comment at: lib/Driver/ToolChains/Linux.cpp:913 +return false; + return Generic_ELF::IsMathErrnoDefault(); +} pirama wrote: > I tried to be defensive here in case the default changes in the future. I > can simplify to just return true here if that'd be simpler. I agree with this, since this matches the present behavior. Repository: rC Clang https://reviews.llvm.org/D51068 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D51068: [Android] Default to -fno-math-errno
pirama added inline comments. Comment at: lib/Driver/ToolChains/Linux.cpp:913 +return false; + return Generic_ELF::IsMathErrnoDefault(); +} I tried to be defensive here in case the default changes in the future. I can simplify to just return true here if that'd be simpler. Repository: rC Clang https://reviews.llvm.org/D51068 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D51068: [Android] Default to -fno-math-errno
pirama created this revision. pirama added reviewers: srhines, enh. Android's libm does not set errno. Repository: rC Clang https://reviews.llvm.org/D51068 Files: lib/Driver/ToolChains/Linux.cpp lib/Driver/ToolChains/Linux.h test/Driver/fast-math.c Index: test/Driver/fast-math.c === --- test/Driver/fast-math.c +++ test/Driver/fast-math.c @@ -95,6 +95,8 @@ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // RUN: %clang -### -target x86_64-fuchsia -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s +// RUN: %clang -### -target x86_64-linux-android -c %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // // Check that -ffast-math disables -fmath-errno, and -fno-fast-math merely // preserves the target default. Also check various flag set operations between Index: lib/Driver/ToolChains/Linux.h === --- lib/Driver/ToolChains/Linux.h +++ lib/Driver/ToolChains/Linux.h @@ -38,6 +38,7 @@ void AddIAMCUIncludeArgs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; bool isPIEDefault() const override; + bool IsMathErrnoDefault() const override; SanitizerMask getSupportedSanitizers() const override; void addProfileRTLibs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -907,6 +907,12 @@ getTriple().isMusl() || getSanitizerArgs().requiresPIE(); } +bool Linux::IsMathErrnoDefault() const { + if (getTriple().isAndroid()) +return false; + return Generic_ELF::IsMathErrnoDefault(); +} + SanitizerMask Linux::getSupportedSanitizers() const { const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; Index: test/Driver/fast-math.c === --- test/Driver/fast-math.c +++ test/Driver/fast-math.c @@ -95,6 +95,8 @@ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // RUN: %clang -### -target x86_64-fuchsia -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s +// RUN: %clang -### -target x86_64-linux-android -c %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NO-MATH-ERRNO %s // // Check that -ffast-math disables -fmath-errno, and -fno-fast-math merely // preserves the target default. Also check various flag set operations between Index: lib/Driver/ToolChains/Linux.h === --- lib/Driver/ToolChains/Linux.h +++ lib/Driver/ToolChains/Linux.h @@ -38,6 +38,7 @@ void AddIAMCUIncludeArgs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; bool isPIEDefault() const override; + bool IsMathErrnoDefault() const override; SanitizerMask getSupportedSanitizers() const override; void addProfileRTLibs(const llvm::opt::ArgList , llvm::opt::ArgStringList ) const override; Index: lib/Driver/ToolChains/Linux.cpp === --- lib/Driver/ToolChains/Linux.cpp +++ lib/Driver/ToolChains/Linux.cpp @@ -907,6 +907,12 @@ getTriple().isMusl() || getSanitizerArgs().requiresPIE(); } +bool Linux::IsMathErrnoDefault() const { + if (getTriple().isAndroid()) +return false; + return Generic_ELF::IsMathErrnoDefault(); +} + SanitizerMask Linux::getSupportedSanitizers() const { const bool IsX86 = getTriple().getArch() == llvm::Triple::x86; const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64; ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits