Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr53037-1.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
/* PR c/53037. */ /* { dg-do compile } */ /* { dg-options "-O0" } */ /* { dg-require-effective-target int32 } */ typedef unsigned long long __u64 __attribute__((aligned(4),warn_if_not_aligned(8))); struct foo1 { int i1; int i2; int i3; __u64 x; /* { dg-warning "'x' offset 12 in 'struct foo1' isn't aligned to 8" } */ }; /* { dg-warning "alignment 4 of 'struct foo1' is less than 8" } */ struct foo2 { int i1; int i2; int i3; __u64 x; /* { dg-warning "'x' offset 12 in 'struct foo2' isn't aligned to 8" } */ } __attribute__((aligned(8))); struct foo3 { int i1; int i3; __u64 x; }; /* { dg-warning "alignment 4 of 'struct foo3' is less than 8" } */ struct foo4 { int i1; int i2; __u64 x; } __attribute__((aligned(8))); struct foo5 { int i1; int x __attribute__((warn_if_not_aligned(16))); /* { dg-warning "'x' offset 4 in 'struct foo5' isn't aligned to 16" } */ }; /* { dg-warning "alignment 4 of 'struct foo5' is less than 16" } */ struct foo6 { int i1; int x __attribute__((warn_if_not_aligned(16))); /* { dg-warning "'x' offset 4 in 'struct foo6' isn't aligned to 16" } */ } __attribute__((aligned(16))); struct foo7 { int i1; int i2; int i3; int i4; int x __attribute__((warn_if_not_aligned(16))); } __attribute__((aligned(16))); union bar1 { int i1; __u64 x; }; /* { dg-warning "alignment 4 of 'union bar1' is less than 8" } */ union bar2 { int i1; __u64 x; } __attribute__((aligned(8))); union bar3 { int i1; int x __attribute__((warn_if_not_aligned(16))); }; /* { dg-warning "alignment 4 of 'union bar3' is less than 16" } */ union bar4 { int i1; int x __attribute__((warn_if_not_aligned(16))); } __attribute__((aligned(16)));