-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++17 std::byte detection fails on ubuntu+clang-6.0 #1992
Comments
@gnbond
|
After a bunch more experimentation, this appears to be a ubuntu 16-specific issue, clang packages on ubuntu-18 (and FreeBSD 11) work fine. I think the issue is the clang packages are still using OS-default standard library, which is g++5 on ubuntu-16, and g++5 version of The below patch seems to fix it, and seems in the spirit of the feature test macros , but I do not know if there are any adverse consequences of #including in this circumstance. (line numbers are the single-file version 2.13.0)
|
Yeah, some feature checks still use the old and wrong way of doing them -- it is a legacy of most feature checks being for C++11/14, which did not have feature macros, so checking for C++ standard and then hoping for the best was a reasonable option. If you open up a PR, I will merge it, otherwise it will have to wait until I get around to working on v2 branch again. |
Describe the bug
Clang6 and clang8 in c++17 mode cannot compile catch unit tests
Expected behavior
C++17 should be supported
Reproduction steps
Ubuntu 16, clang++6.0 (and clang++-8) installed with "apt install clang6.0"
Simple null unit test:
Platform information:
OS: ubuntu 16
Compiler+version:
clang version 6.0.0-1ubuntu2~16.04.1 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Catch version: v2.13.0 downloaded in the single file version
Additional context
Also happens with clang-8 package.
Compiles fine in clang-6 or clang-8 in c+11 or c++14 mode.
This may be a packaging error in ubuntu, or it might be I have not installed some vital piece, or need to configure clang to use a better standard library or something.
The text was updated successfully, but these errors were encountered: