modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20180309-1.c (about) 1 /* PR target/84763 */ 2 /* { dg-require-effective-target return_address } */ 3 4 extern void abort (void); 5 6 void *foo (unsigned int *data, unsigned int len) 7 { 8 unsigned int local_data[128]; 9 10 if (len > 128) 11 abort (); 12 13 for (unsigned int i = 0; i < len; i++) 14 local_data[i] = data[i] + data[len - 1 - i] * 2; 15 16 void *ret = __builtin_frame_address (0); 17 18 for (unsigned int i = 0; i < len; i++) 19 ret = ret + local_data[i] % 8; 20 21 return ret; 22 }