diff options
author | Timm Bäder <tbaeder@redhat.com> | 2022-03-08 14:21:37 +0100 |
---|---|---|
committer | Tom Stellard <tstellar@redhat.com> | 2022-03-08 19:22:37 -0800 |
commit | d843bde69aab7fbb3efff34229e8876b1ce80a5b (patch) | |
tree | e6d30ff15a2b6ea706aed8dbf85ee06be6fd10ad | |
parent | ba9ff030d302910e0d2155536558f71da98d5a5a (diff) |
[clang][driver] Fix float128 diagnostics with glibc >= 2.32
Fix checking for an unsupported stdlib++.
Differential Revision: https://reviews.llvm.org/D121209
(cherry picked from commit 5b7941ad7c893b4bb019e3c96b760b0f2670ccfc)
-rw-r--r-- | clang/lib/Driver/ToolChains/PPCLinux.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains/PPCLinux.cpp b/clang/lib/Driver/ToolChains/PPCLinux.cpp index e480d8bd8703..2fea262fd109 100644 --- a/clang/lib/Driver/ToolChains/PPCLinux.cpp +++ b/clang/lib/Driver/ToolChains/PPCLinux.cpp @@ -76,9 +76,11 @@ bool PPCLinuxToolChain::SupportIEEEFloat128( if (Args.hasArg(options::OPT_nostdlib, options::OPT_nostdlibxx)) return true; + CXXStdlibType StdLib = ToolChain::GetCXXStdlibType(Args); bool HasUnsupportedCXXLib = - ToolChain::GetCXXStdlibType(Args) == CST_Libcxx && - GCCInstallation.getVersion().isOlderThan(12, 1, 0); + StdLib == CST_Libcxx || + (StdLib == CST_Libstdcxx && + GCCInstallation.getVersion().isOlderThan(12, 1, 0)); return GlibcSupportsFloat128(Linux::getDynamicLinker(Args)) && !(D.CCCIsCXX() && HasUnsupportedCXXLib); |