PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / guality / pr41404-1.c
blob59a8293e62f81c060cfb9e600f1b5f90ae1ff1a6
1 /* PR debug/41404 */
2 /* { dg-do run } */
3 /* { dg-options "-g" } */
5 __attribute__ ((noinline))
6 int bar1 (int i)
8 const char *foo = "foo";
9 asm volatile ("" : "+r" (i) : : "memory");
10 i++; /* { dg-final { gdb-test 10 "*foo" "'f'" } } */
11 asm volatile ("" : "+r" (i) : : "memory");
12 foo = "bar";
13 asm volatile ("" : "+r" (i) : : "memory");
14 i++; /* { dg-final { gdb-test 14 "*foo" "'b'" } } */
15 asm volatile ("" : "+r" (i) : : "memory");
16 return i;
19 __attribute__ ((noinline))
20 int bar2 (int i)
22 const char *foo = "foo";
23 asm volatile ("" : "+r" (i) : : "memory");
24 i++; /* { dg-final { gdb-test 24 "*foo" "'f'" } } */
25 asm volatile ("" : "+r" (i) : : "memory");
26 return i;
29 __attribute__ ((noinline))
30 const char *baz (int i)
32 return i ? "foo" : "bar";
35 int
36 main (void)
38 bar1 (6);
39 bar2 (6);
40 return 0;