https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87106
--- Comment #16 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Arthur O'Dwyer from comment #15) > @Marc, it only now occurs to me that if libstdc++ uses > `__is_trivially_relocatable` as its userspace type-trait name, then GCC > won't be able to use `__is_trivially_relocatable(T)` as the name of its > compiler builtin. (It would be analogous to if libstdc++ had used > `__is_trivially_copyable` as the name of a type-trait.) > Is there any chance that you could rename `__is_trivially_relocatable` to > `__is_trivially_relocatablex` or `__has_trivial_relocatability` or something > like that? Is it too late? I hope not. The name __is_trivially_relocatable is currently undocumented, it is an implementation detail and users should not specialize it (or at least they should be ready for it to break very easily). It can be renamed at any point if convenient, say if/when gcc implements a builtin with the same name. Or is the issue that clang already has such a builtin, and it now conflicts with libstdc++? In that case I agree we should rename it. I don't care much about the name, see what the maintainers are happy with...