1 /* Origin: PR target/11535 from H. J. Lu <hjl@lucon.org> */ 2 /* { dg-require-effective-target return_address } */ 3 vararg(int i,...)4void vararg (int i, ...) 5 { 6 (void) i; 7 } 8 9 int i0[0], i1; 10 test1(void)11void test1 (void) 12 { 13 int a = (int) (long long) __builtin_return_address (0); 14 vararg (0, a); 15 } 16 test2(void)17void test2 (void) 18 { 19 i0[0] = (int) (long long) __builtin_return_address (0); 20 } 21 test3(void)22void test3 (void) 23 { 24 i1 = (int) (long long) __builtin_return_address (0); 25 } 26 test4(void)27void test4 (void) 28 { 29 volatile long long a = (long long) __builtin_return_address (0); 30 i0[0] = (int) a; 31 } 32 main(void)33int main (void) 34 { 35 return 0; 36 } 37