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...

Reply via email to