-
Notifications
You must be signed in to change notification settings - Fork 407
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
Avoid more warnings with clang and C++20 #3719
Conversation
KOKKOS_INLINE_FUNCTION | ||
bool operator==(volatile const_value_type& val) const { return *ptr == val; } | ||
bool operator==(volatile const AtomicDataElement& val) const { |
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.
While not a comment on this change, the volatile comparisons seem sketchy.
@ndellingwood should review. Readt from my side. More reviews/opinions welcome. Related to #3716. |
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.
lgtm @masterleinad I think intel is now PR tested via the github actions, but let me know if would you like me to do any additional testing
I should clarify, these changes were not made to address anything intel-related, but replacing enums with static constexpr variables in the past had caused intel compilation issues, though I don't think I've seen that since intel/15 or intel/16 |
It would probably be good to give it a full test run of the Sandia testers. The alternative to the switching to |
I just merge this and we check tomorrow if it broke anything and then we can revert. I think the likelyhood is very low. We did a similar change in some other places and it passed. |
Since all of the changed enums are in internal classes any ODR-usage should also be internal. Hence, I didn't provide extra definitions in namescape scope. Also, we don't have them for the corresponding
HIP
variables.The changes to the comparison operators in
core/src/impl/Kokkos_Atomic_View.hpp
rely on the existence of implicit conversion operators.