On Sun, Jun 29, 2025 at 06:28:11AM +0200, Alejandro Colomar via Gcc wrote: > --- i/libcpp/include/cpplib.h > +++ w/libcpp/include/cpplib.h > @@ -1363,6 +1363,7 @@ struct cpp_num > #define CPP_N_SIZE_T 0x2000000 /* C++23 size_t literal. */ > #define CPP_N_BFLOAT16 0x4000000 /* std::bfloat16_t type. */ > #define CPP_N_BITINT 0x8000000 /* C23 _BitInt literal. */ > +#define CPP_N_BITINT_N 0x10000000 /* C2y _BitInt(N) literal. */
This is not correct. That overlaps with the lowest bit in CPP_N_WIDTH_FLOATN_NX. So, one would need to be extra careful not to treat say f16 suffix which is CPP_N_FLOATN | 0x10000000 as CPP_N_BITINT_N or wbN or uwbN suffix as the N in fN or fNx. > > #define CPP_N_WIDTH_FLOATN_NX 0xF0000000 /* _FloatN / _FloatNx value > of N, divided by 16. */ Jakub