https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119064
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #3) > This sounds fine, perhaps with a -Wc++26-compat warning about those names in > earlier modes. Ok, done now (but still just starting work on testcases). > I'd like to get back to using __builtin for builtins. Ok. Right now using __builtin_is_trivially_relocatable instead of the clang surprising __builtin_is_cpp_trivially_relocatable, have tried to convince them to change, will see. > Computing it on demand makes sense to me. The on-demand computation is now implemented. > I would think we could just make __builtin_memmove work in > constant-evaluation. After some more reading, __builtin_memmove is fine if we never do any kind of pointer signing on the vtable pointers. I believe we don't implement anything like that right now on any target, but a builtin would allow changing that just on the compiler side (together with making unions with polymorphic members no longer trivially relocatable).