3 /* { dg-options "-g" } */
5 int vari
__attribute__((used
)) = 17, varj
;
7 __attribute__((noinline
)) int
10 /* { dg-final { gdb-test .+7 "vari" "17" } } */
11 int vari1
= 2 * vari
; /* { dg-final { gdb-test .+6 "vari1" "2 * 17" } } */
12 int vari2
= 3 * vari
; /* { dg-final { gdb-test .+5 "vari2" "3 * 17" } } */
13 int vari3
= 2 * vari
; /* { dg-final { gdb-test .+4 "vari3" "2 * 17" } } */
14 int vari4
= 3 * vari
; /* { dg-final { gdb-test .+3 "vari4" "3 * 17" } } */
15 int vari5
= 4 * vari
; /* { dg-final { gdb-test .+2 "vari5" "4 * 17" } } */
16 int vari6
= 5 * vari
; /* { dg-final { gdb-test .+1 "vari6" "5 * 17" } } */
20 __attribute__((noinline
)) int
24 /* { dg-final { gdb-test .+4 "i" "37" } } */
25 /* { dg-final { gdb-test .+3 "j" "28 + 37" { xfail { no-opts "-O0" } } } } */
26 int i1
= 2 * i
; /* { dg-final { gdb-test .+2 "i1" "2 * 37" } } */
27 int i2
= 3 * i
; /* { dg-final { gdb-test .+1 "i2" "3 * 37" } } */
31 __attribute__((noinline
)) int
34 asm volatile ("" : "+r" (i
));
35 /* { dg-final { gdb-test .+4 "i" "12" } } */
36 int i1
= 2 * i
; /* { dg-final { gdb-test .+3 "i1" "2 * 12" } } */
37 int i2
= 2 * i
; /* { dg-final { gdb-test .+2 "i2" "2 * 12" } } */
38 int i3
= 3 * i
; /* { dg-final { gdb-test .+1 "i3" "3 * 12" } } */
42 int (*volatile fnp1
) (void) = f1
;
43 int (*volatile fnp2
) (int, int) = f2
;
44 int (*volatile fnp3
) (int) = f3
;
47 main (int argc
, char *argv
[])
49 asm volatile ("" : : "r" (&fnp1
) : "memory");
50 asm volatile ("" : : "r" (&fnp2
) : "memory");
51 asm volatile ("" : : "r" (&fnp3
) : "memory");