I stumbled on this being a regression for cris-elf as well;
the patch expectedly fixes the test-case for CRIS as well.
It's been a week since the patch was posted and as I see no
replies, I'm pinging this in behalf of Dimitar.

> From: Dimitar Dimitrov <dimi...@dinux.eu>
> Date: Mon,  5 Aug 2024 21:29:35 +0300

> The size of "struct only_fam_2" is dependent on the alignment of the
> flexible array member "b", and not on the type of the preceding
> bit-fields.  For most targets the two are equal.  But on default_packed
> targets like pru-unknown-elf, the alignment of int is not equal to the
> size of int, so the test failed.
> 
> Patch was suggested by Qing Zhao.  Tested on pru-unknown-elf and
> x86_64-pc-linux-gnu.
> 
> Ok for master?
> 
>       PR testsuite/116155
> 
> gcc/testsuite/ChangeLog:
> 
>       * c-c++-common/fam-in-union-alone-in-struct-1.c: Adjust
>       check to account for default_packed targets.
> 
> Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu>
> ---
>  gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c 
> b/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c
> index 39ebf17850b..9979e96fe70 100644
> --- a/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c
> +++ b/gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c
> @@ -45,7 +45,7 @@ int main ()
>      __builtin_abort ();
>    if (sizeof (struct only_fam) != 0)
>      __builtin_abort ();
> -  if (sizeof (struct only_fam_2) != sizeof (int))
> +  if (sizeof (struct only_fam_2) != __alignof__ (int))
>      __builtin_abort ();
>    return 0;
>  }
> -- 
> 2.45.2
> 

Reply via email to