On Tue, 4 Oct 2022, Jakub Jelinek via Gcc-patches wrote:
> Yet another problem is because I've only enabled the bf16/BF16 suffixes in
> C++ because for C it might clash with some later extension. Am I right to
> fear about that, or do you think C will never standardize suffixes that
> would clash with that because C++ standardized the bf16/BF16 suffixes for
> something already? If I could enable it, I'd always pedwarn for C for those
I think any C proposal to standardize something conflicting with C++ would
get objections from the WG21 liaison.
> Another question is the suffixes of the builtins. For now I have added
> bf16 suffix and enabled the builtins with !both_p, so one always needs to
> use __builtin_* form for them. None of the GCC builtins end with b,
> so this isn't ambiguous with __builtin_*f16, but some libm functions do end
> with b, in particular ilogb, logb and f{??,??x}sub. ilogb and the subs
> always have it, but is __builtin_logbf16 f16 suffixed logb or bf16 suffixed
> log? Shall the builtins use f16b suffixes instead like the mangling does?
Indeed, that conflict means bf16 isn't suitable for the built-in function
suffix.
--
Joseph S. Myers
[email protected]