nvhpc/22.3: workaround for c++17 mode#3043
Merged
Merged
Conversation
Contributor
|
This error is also present in other compilers with EDG frontend. Not only in NVIDIA HPC compilers. |
203a4ce to
06b9b16
Compare
Contributor
Author
OK, given that then my suggestion
seems like a better solution. I updated the branch to do that (and rebased it on master, previously it was on top of 9.0.0). |
vitaut
reviewed
Aug 18, 2022
06b9b16 to
f06c45c
Compare
5 tasks
Contributor
|
Thank you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#3028 discusses several issues with using fmt and the NVIDIA HPC compilers.
One issue leads to assertions failures and wrong results, even in simple examples. That issue seems to be a compiler but affecting version 22.3 of the compilers, specifically in C++17 mode. This workaround avoids the issue.
There are still other test failures with this patch, see #3028 for more information, but this seems sufficient to fix basic usage with 22.3 and C++17.
I assume it would also be fine to remove all of the macros and use the
*(foo + index)style for all compilers (with an appropriate comment about nvhpc 22.3), if you prefer.