diff options
author | Nikita Popov <npopov@redhat.com> | 2022-10-19 12:57:41 +0200 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2022-10-27 10:36:37 +0200 |
commit | 0cbf003c78cdba5cc81b69ee4cd6cee53f2e2796 (patch) | |
tree | e7e496c6eca29b30851b3dcd8d3080ceccf8c687 /clang/lib/Lex/Preprocessor.cpp | |
parent | dda8fe6a08eb2d96165fe5355fafd132bd111161 (diff) | |
download | llvm-0cbf003c78cdba5cc81b69ee4cd6cee53f2e2796.zip llvm-0cbf003c78cdba5cc81b69ee4cd6cee53f2e2796.tar.gz llvm-0cbf003c78cdba5cc81b69ee4cd6cee53f2e2796.tar.bz2 |
[PowerPC] Fix check for ieeelongdouble support
Clang detects the GCC version from the libdir. However, modern
GCC versions only include the major version in the libdir
(something like lib/gcc/powerpc64le-linux-gnu/12/), not all
version components. For this reason, even though the system has
a supported libstdcxx, it will still fail the check against the
12.1.0 version requirement.
Fix this by doing the same thing we do for patch versions: Assume
that a missing minor version is larger than any specific version.
To allow this to be tested, we need to fix two additional issues:
First, the GCC toolchain directories used for testing need to
contain a crtbegin.o file to be properly detected. The existing
tests actually ended up using a 0.0.0 version, rather the intended
one. Second, we also need to satisfy the glibc version check based
on the dynamic linker. To do so, respect the --dyld-prefix argument
and add the necessary file to the test toolchain directory.
Differential Revision: https://reviews.llvm.org/D136258
Diffstat (limited to 'clang/lib/Lex/Preprocessor.cpp')
0 files changed, 0 insertions, 0 deletions