You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
https://godbolt.org/z/4Y9z7sdEE
This Godbolt shows that clang considers struct S { volatile int i; }; "trivially relocatable", but volatile int is considered "not-trivially relocatable". This is inconsistent. It's also inconsistent with the behavior of std::is_trivially_copyable_v<volatile int> == true. __is_trivially_relocatable should do the same. Otherwise, we end up with a type that is trivially copyable but not trivially relocatable.