https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109884
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, these builtins aren't standard builtins, but backend registered ones: grep '"__builtin_[a-z]*q["=]' gcc/config/*/* 2>/dev/null gcc/config/i386/i386-builtins.cc: def_builtin_const (0, 0, "__builtin_infq", gcc/config/i386/i386-builtins.cc: decl = add_builtin_function ("__builtin_nanq", ftype, IX86_BUILTIN_NANQ, gcc/config/i386/i386-builtins.cc: decl = add_builtin_function ("__builtin_nansq", ftype, IX86_BUILTIN_NANSQ, gcc/config/i386/i386-builtins.cc: decl = add_builtin_function ("__builtin_fabsq", ftype, IX86_BUILTIN_FABSQ, gcc/config/i386/i386-builtins.cc: decl = add_builtin_function ("__builtin_copysignq", ftype, gcc/config/ia64/ia64.cc: decl = add_builtin_function ("__builtin_infq", ftype, gcc/config/ia64/ia64.cc: decl = add_builtin_function ("__builtin_nanq", ftype, gcc/config/ia64/ia64.cc: decl = add_builtin_function ("__builtin_nansq", ftype, gcc/config/ia64/ia64.cc: decl = add_builtin_function ("__builtin_fabsq", ftype, gcc/config/ia64/ia64.cc: decl = add_builtin_function ("__builtin_copysignq", ftype, gcc/config/pa/pa.cc: decl = add_builtin_function ("__builtin_fabsq", ftype, gcc/config/pa/pa.cc: decl = add_builtin_function ("__builtin_copysignq", ftype, gcc/config/pa/pa.cc: decl = add_builtin_function ("__builtin_infq", ftype, gcc/config/rs6000/rs6000-c.cc: builtin_define ("__builtin_fabsq=__builtin_fabsf128"); gcc/config/rs6000/rs6000-c.cc: builtin_define ("__builtin_copysignq=__builtin_copysignf128"); gcc/config/rs6000/rs6000-c.cc: builtin_define ("__builtin_nanq=__builtin_nanf128"); gcc/config/rs6000/rs6000-c.cc: builtin_define ("__builtin_nansq=__builtin_nansf128"); gcc/config/rs6000/rs6000-c.cc: builtin_define ("__builtin_infq=__builtin_inff128"); and have been that way before as well. Given how they are defined on rs6000, at least there because it is just a macro for the f128 suffixed ones it really has to return _Float128.