Hi Jakub, On Sun, Jun 29, 2025 at 08:22:01PM +0200, Jakub Jelinek wrote: > 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.
Oops, sorry. Should I move FLOATN higher to keep these contiguous? Thanks! Have a lovely day! Alex > > > > #define CPP_N_WIDTH_FLOATN_NX 0xF0000000 /* _FloatN / _FloatNx value > > of N, divided by 16. */ > > Jakub > -- <https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature