https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99708

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Unfortunately, checking TYPE_NAME won't work either.
Because for the ibm128_float_type_node = long_double_type_node;
and ieee128_float_type_node = long_double_type_node; cases,
lang_hooks.types.register_builtin_type will not change TYPE_NAME on those which
remains "long double".
As one can't easily name-lookup those __ieee128 and __ibm128 identifiers back,
I think TARGET_FLOAT128_TYPE is the macro that controls it.
The __SIZEOF_*__ macros probably should be defined/undefined in
rs6000_target_modify_macros based on that and for __SIZEOF_FLOAT128__ also
based on (flags & OPTION_MASK_FLOAT128_KEYWORD) != 0.

Reply via email to