aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/Preprocessor.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-10-19 12:57:41 +0200
committerNikita Popov <npopov@redhat.com>2022-10-27 10:36:37 +0200
commit0cbf003c78cdba5cc81b69ee4cd6cee53f2e2796 (patch)
treee7e496c6eca29b30851b3dcd8d3080ceccf8c687 /clang/lib/Lex/Preprocessor.cpp
parentdda8fe6a08eb2d96165fe5355fafd132bd111161 (diff)
downloadllvm-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