/* { dg-do run } */ /* { dg-require-effective-target hwaddress_exec } */ /* Handling large aligned variables. Large aligned variables take a different code-path through expand_stack_vars in cfgexpand.c. This testcase is just to exercise that code-path. The alternate code-path produces a second base-pointer through some instructions emitted in the prologue. Test cases are: 0) Valid access works without complaint. 1) Invalid access is caught. */ int __attribute__ ((noinline)) handle_large_alignment (int num) { int other_array[10]; int big_array[100] __attribute__ ((aligned (32))); return big_array[num] + other_array[num]; } #ifndef ARG #define ARG 1 #endif int global; int __attribute__ ((noinline)) main () { global += handle_large_alignment (ARG); return 0; }