1 /* PR debug/43479 */
2 /* { dg-do run } */
3 /* { dg-options "-g" } */
4
5 __attribute__((noinline)) void
6 foo (int k, int l, int m, int n)
7 {
8 l++;
9 {
10 int h = n;
11 {
12 int i = k;
13 k++; /* { dg-final { gdb-test . "i" "6" } } */
14 } /* { dg-final { gdb-test .-1 "h" "9" } } */
15 /* { dg-final { gdb-test .-2 "n" "9" } } */
16 {
17 int j = m;
18 m++; /* { dg-final { gdb-test . "j" "8" } } */
19 } /* { dg-final { gdb-test .-1 "h" "9" } } */
20 /* { dg-final { gdb-test 12 "n" "9" } } */
21 }
22 asm volatile ("" : : "r" (k), "r" (l));
23 asm volatile ("" : : "r" (m), "r" (n));
24 }
25
26 int
27 main (void)
28 {
29 int q = 6;
30 asm ("" : "+r" (q));
31 foo (q, q + 1, q + 2, q + 3);
32 return 0;
33 }