[Bug libstdc++/107649] New std::complex specializations are never used
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 11 20:52:03 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107649
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Although if the _GLIBCXX_FLOAT_IS_IEEE_BINARY32 macro is not defined, it will
still be ambiguous, because we won't define these overloads:
#if _GLIBCXX_USE_C99_COMPLEX
#if defined(__STDCPP_FLOAT16_T__) && defined(_GLIBCXX_FLOAT_IS_IEEE_BINARY32)
inline _Float16
__complex_abs(__complex__ _Float16 __z)
{ return _Float16(__builtin_cabsf(__z)); }
So should the __complex_type specializations that cause us to use __complex__
_Tp depend on those same macros? So we don't use the efficient representation
unless we can also define these overloads?
More information about the Gcc-bugs
mailing list