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