-
Notifications
You must be signed in to change notification settings - Fork 410
Non-conformant testing of template-template-args c++ standard feature #2783
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
Comments
EthanLuisMcDonough
added a commit
to EthanLuisMcDonough/xtensor
that referenced
this issue
May 15, 2024
Applies fix described in xtensor-stack#2783
EthanLuisMcDonough
added a commit
to EthanLuisMcDonough/xtensor
that referenced
this issue
May 15, 2024
Applies fix described in xtensor-stack#2783
There is another place that looks like a candidate for the same fix:
A user reported here that this also fixes a similar issue: llvm/llvm-project#89807 (comment) |
jtramm
added a commit
to exasmr/openmc
that referenced
this issue
Jun 3, 2024
See issues: - llvm/llvm-project#91504 - xtensor-stack/xtensor#2783
This has been fixed in #2833. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This project includes workarounds for the changes introduced in https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0522r0.html, which was adopted as a defect report and thus retroactively applies back to all language standards.
See here:
xtensor/include/xtensor/xutils.hpp
Line 1022 in d9c3782
The problem is that this workaround is testing for GCC specifically and C++17, excluding Clang.
GCC has included this change for a while, but it's only enabled by default in C++17 and above, but can be enabled and disabled freely with a flag as well.
Clang has never enabled it by default until now, deferring it to the flag only. This is changing with the next version, where it's going to be enabled in all language versions, and the flag becomes deprecated, to be removed in the version after that.
This means building this project is failing when this feature's enablement differs from default. With the next version of Clang, it's not going to work with the default there either.
Solution: replace above check with testing of standard feature macro: https://en.cppreference.com/w/cpp/feature_test#cpp_template_template_args
References:
llvm/llvm-project#89807
llvm/llvm-project#91504
The text was updated successfully, but these errors were encountered: