[PATCH] D112906: [PowerPC] Emit warning for ieeelongdouble on older GNU toolchain

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


tbaeder added a comment.
Herald added a project: All.

Hi @qiucf,

I'm running into a problem with the testsuite that's caused by this patch. I think the comment from @jsji about newer glibc was never addressed.

When running the testsuite on ppc64le with a glibc newer than 2.34, the the warning mentioned in `ppc-float-abi-warning.cpp` is not emitted when using libstdc++.

In `PPCLinuxToolChain::SupportIEEEFloat128()`:

  bool HasUnsupportedCXXLib =
      ToolChain::GetCXXStdlibType(Args) == CST_Libcxx &&
      GCCInstallation.getVersion().isOlderThan(12, 1, 0);
  
  return GlibcSupportsFloat128(Linux::getDynamicLinker(Args)) &&
         !(D.CCCIsCXX() && HasUnsupportedCXXLib);

When using libstdc++, `HasUnsupportedCXXLib` will always be `false` since it's not `CST_Libcxx`...

I don't understand the `HasUnsupportedCXXLib` variable tbh, is there a typo in the stdlib check, or in a `&&`/`||` mixup?
Right now it is only `true` if we're using libc++ //and// the GCC installation is older than 12.1.0.

I will try one approach in the meantime, but your opinion would be appreciated.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112906/new/

https://reviews.llvm.org/D112906



More information about the cfe-commits mailing list