https://gcc.gnu.org/g:b13e34699c7d27e561fcfe1b66ced1e50e69976f
commit r15-2904-gb13e34699c7d27e561fcfe1b66ced1e50e69976f Author: Dimitar Dimitrov <dimi...@dinux.eu> Date: Mon Aug 5 19:00:28 2024 +0300 testsuite: Fix struct size check [PR116155] 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. 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> Diff: --- 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 39ebf17850bf..9979e96fe703 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; }