PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / guality / pr54970.c
bloba9b8c064d8b301c6dd77ccacad9ba5eb64ff4b54
1 /* PR debug/54970 */
2 /* PR debug/54971 */
3 /* { dg-do run } */
4 /* { dg-options "-g" } */
6 #include "../nop.h"
8 int
9 main ()
11 int a[] = { 1, 2, 3 }; /* { dg-final { gdb-test 15 "a\[0\]" "1" } } */
12 int *p = a + 2; /* { dg-final { gdb-test 15 "a\[1\]" "2" } } */
13 int *q = a + 1; /* { dg-final { gdb-test 15 "a\[2\]" "3" } } */
14 /* { dg-final { gdb-test 15 "*p" "3" } } */
15 asm volatile (NOP); /* { dg-final { gdb-test 15 "*q" "2" } } */
16 *p += 10; /* { dg-final { gdb-test 20 "a\[0\]" "1" } } */
17 /* { dg-final { gdb-test 20 "a\[1\]" "2" } } */
18 /* { dg-final { gdb-test 20 "a\[2\]" "13" } } */
19 /* { dg-final { gdb-test 20 "*p" "13" } } */
20 asm volatile (NOP); /* { dg-final { gdb-test 20 "*q" "2" } } */
21 *q += 10; /* { dg-final { gdb-test 25 "a\[0\]" "1" } } */
22 /* { dg-final { gdb-test 25 "a\[1\]" "12" } } */
23 /* { dg-final { gdb-test 25 "a\[2\]" "13" } } */
24 /* { dg-final { gdb-test 25 "*p" "13" } } */
25 asm volatile (NOP); /* { dg-final { gdb-test 25 "*q" "12" } } */
26 __builtin_memcpy (&a, (int [3]) { 4, 5, 6 }, sizeof (a));
27 /* { dg-final { gdb-test 31 "a\[0\]" "4" } } */
28 /* { dg-final { gdb-test 31 "a\[1\]" "5" } } */
29 /* { dg-final { gdb-test 31 "a\[2\]" "6" } } */
30 /* { dg-final { gdb-test 31 "*p" "6" } } */
31 asm volatile (NOP); /* { dg-final { gdb-test 31 "*q" "5" } } */
32 *p += 20; /* { dg-final { gdb-test 36 "a\[0\]" "4" } } */
33 /* { dg-final { gdb-test 36 "a\[1\]" "5" } } */
34 /* { dg-final { gdb-test 36 "a\[2\]" "26" } } */
35 /* { dg-final { gdb-test 36 "*p" "26" } } */
36 asm volatile (NOP); /* { dg-final { gdb-test 36 "*q" "5" } } */
37 *q += 20; /* { dg-final { gdb-test 45 "a\[0\]" "4" } } */
38 /* { dg-final { gdb-test 45 "a\[1\]" "25" } } */
39 /* { dg-final { gdb-test 45 "a\[2\]" "26" } } */
40 /* { dg-final { gdb-test 45 "*p" "26" } } */
41 /* { dg-final { gdb-test 45 "p\[-1\]" "25" } } */
42 /* { dg-final { gdb-test 45 "p\[-2\]" "4" } } */
43 /* { dg-final { gdb-test 45 "q\[-1\]" "4" } } */
44 /* { dg-final { gdb-test 45 "q\[1\]" "26" } } */
45 asm volatile (NOP); /* { dg-final { gdb-test 45 "*q" "25" } } */
46 return 0;