diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/addrof1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/addrof1.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/addrof1.C b/gcc/testsuite/g++.old-deja/g++.other/addrof1.C new file mode 100644 index 000000000..2702ee07b --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/addrof1.C @@ -0,0 +1,34 @@ +// { dg-do run } + +extern "C" void abort (); + +typedef struct st { + unsigned char a; + unsigned char b; + unsigned char c; + unsigned char d; +} __attribute__((aligned(4))) st; + +void testme(int, int, int); + +static inline void +stupid_func(st s) +{ + testme(s.a, s.b, s.c); +} + +int main() +{ + st s; + + s.a = s.b = s.c = 216; + stupid_func(s); + + return 0; +} + +void testme(int a, int b, int c) +{ + if (a != 216 || b != 216 || c != 216) + abort(); +} |