-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Added workarounds for compilers with EDG frontend (LCC and Nvidia) #3057
Conversation
Signed-off-by: Vladislav Shchapov <[email protected]>
Signed-off-by: Vladislav Shchapov <[email protected]>
…and compiler without std::is_constant_evaluated() Signed-off-by: Vladislav Shchapov <[email protected]>
Signed-off-by: Vladislav Shchapov <[email protected]>
Thanks for the PR! Could you post errors that are being fixed for reference? |
I have error messages in Russian. The error messages from the Nvidia compiler are the same.
|
Update: |
Nvidia compilers error message for bug 2: |
@@ -755,8 +755,11 @@ class compile_parse_context | |||
using base::check_arg_id; | |||
|
|||
FMT_CONSTEXPR void check_dynamic_spec(int arg_id) { | |||
detail::ignore_unused(arg_id); | |||
#if !defined(__LCC__) |
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.
Do we need to exclude __NVCOMPILER
here too?
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 know.
My tests have shown that this set of ifdef
s is sufficient for Nvidia, but I do not use the Nvidia compiler in production and do not know its specifics.
LCC supports is_constant_evaluated
but Nvidia does not. Therefore, for Nvidia, disabling the test is enough.
This ifdef
disables code for LCC, as there is an LCC specific bug (Internal compiler error).
LCC and Elbrus is my hobby, not production usage, but I have access to it for testing.
Thank you |
Added workarounds for compilers with EDG frontend (LCC and Nvidia) that emulate GCC.