[PATCH] D121209: [clang][driver] Fix float128 diagnostics with glibc >= 2.32

Timm Bäder via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 8 05:25:55 PST 2022


tbaeder created this revision.
tbaeder added reviewers: qiucf, jsji, kbarton.
Herald added a subscriber: nemanjai.
Herald added a project: All.
tbaeder requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

As explained in https://reviews.llvm.org/D112906#3366874, the check here seems broken and the tests failed when run on a machine with a glibc >= 2.32 installed.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D121209

Files:
  clang/lib/Driver/ToolChains/PPCLinux.cpp


Index: clang/lib/Driver/ToolChains/PPCLinux.cpp
===================================================================
--- clang/lib/Driver/ToolChains/PPCLinux.cpp
+++ clang/lib/Driver/ToolChains/PPCLinux.cpp
@@ -76,9 +76,11 @@
   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);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121209.413775.patch
Type: text/x-patch
Size: 768 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220308/35aab01e/attachment.bin>


More information about the cfe-commits mailing list