https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126849
Bug ID: 126849
Summary: std::numbers wrong check for existence of bfloat16_t
Product: gcc
Version: 16.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: gcc at maxmitti dot at
Target Milestone: ---
The specialization of values in std::numbers for bfloat16_t are guarded like
this:
#ifdef __STDCPP_BFLOAT128_T__
__glibcxx_numbers (__gnu_cxx::__bfloat16_t, BF16);
#endif
Here:
https://github.com/gcc-mirror/gcc/blob/194c8f2bc612df9f6ef1472d6279328c0b4e603e/libstdc%2B%2B-v3/include/std/numbers#L225
I think the macro that should be checked for is actually __STDCPP_BFLOAT16_T__