diff options
author | Dimitar Dimitrov <dimitar@dinux.eu> | 2024-08-05 19:00:28 +0300 |
---|---|---|
committer | Dimitar Dimitrov <dimitar@dinux.eu> | 2024-08-13 23:57:58 +0300 |
commit | b13e34699c7d27e561fcfe1b66ced1e50e69976f (patch) | |
tree | 3eb07e8e0c745163bd7725a6d6eba50f084eb3cc | |
parent | cc00a737e840986f4916918759ba214a95ae6888 (diff) | |
download | gcc-b13e34699c7d27e561fcfe1b66ced1e50e69976f.zip gcc-b13e34699c7d27e561fcfe1b66ced1e50e69976f.tar.gz gcc-b13e34699c7d27e561fcfe1b66ced1e50e69976f.tar.bz2 |
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 <dimitar@dinux.eu>
-rw-r--r-- | gcc/testsuite/c-c++-common/fam-in-union-alone-in-struct-1.c | 2 |
1 files changed, 1 insertions, 1 deletions
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 39ebf17..9979e96 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; } |