On Wed, 19 Nov 2025, Alejandro Colomar wrote:

> +  type_name = c_parser_type_name (parser, true);
> +  // Can return NULL?  Why?

I don't think that's mysterious, it's simply the error return value.

> +void
> +bitint (void)
> +{
> +  _Static_assert (_Maxof (_BitInt (5)) == 15);
> +  _Static_assert (_Minof (_BitInt (5)) == -16);
> +  _Static_assert (_Maxof (unsigned _BitInt (5)) == 31);
> +  _Static_assert (_Minof (unsigned _BitInt (5)) == 0);

These (and all other _BitInt tests for _Maxof and _Minof) need to go in a 
separate file with

/* { dg-do compile { target bitint } } */

since not all targets have _BitInt support (we ought to chase up 
maintainers who still haven't added it to their ports).

Once you have a separate file, it probably makes sense to have another 
separate file that tests _Maxof and _Minof for larger _BitInt (and uses an 
appropriate effective-target for it such as { target bitint575 }).

-- 
Joseph S. Myers
[email protected]

Reply via email to