-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL] Emit an error on attempt to compile in less than C++17 mode #6678
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
[SYCL] Emit an error on attempt to compile in less than C++17 mode #6678
Conversation
If we can do that, it would be really great! |
@aelovikov-intel @pvchupin Friendly ping. |
@romanovvlad, this change breaks post-commit on Windows. Please, take a look. |
@romanovvlad, ping on that |
@@ -10,13 +9,15 @@ | |||
|
|||
#include <sycl/sycl.hpp> | |||
|
|||
// cxx14-warning@* {{DPCPP does not support C++ version earlier than C++17. Some features might not be available.}} | |||
// clang-format off | |||
// cxx14-error@* {{static assertion failed due to requirement '201402L >= 201703L'}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it works reliably - any attempt to use C++17 feature without macro guard would result in an extra error reported and the test would fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, the static_assert
should fire very early as it's in the most basic header. But to make the test more reliable, probably, we could add -Xclang -verify-ignore-unexpected=error,note
and -Xclang -ferror-limit=<Big number>
options.
…ce (#7077) CUDA backend implementation using the "unified" matrix extension interface. The same interface will be used for a future Intel backend implementation of the matrix extension. - New "unified" interface uses SYCL_EXT_ONEAPI_MATRIX_VERSION=4 - `joint_matrix_load`, `joint_matrix_store`, `joint_matrix_mad` and `joint_matrix` interfaces match the new spec from #6662 - Separated `joint_matrix_*` functions into new header matrix-unified.hpp: Intel backend implementations can be called from the same functions in the future. - C++17 everywhere in line with #6678 - Updated device code tests to use new interfaces - Completely removed uint16 implementations that are replaced by bfloat16 that is being moved out of the experimental namespace - Updated all CUDA runtime matrix tests here: intel/llvm-test-suite#1183 Signed-off-by: JackAKirk <[email protected]>
No description provided.