1 /* PR debug/54970 */
2 /* PR debug/54971 */
3 /* { dg-do run } */
4 /* { dg-options "-g" } */
5 
6 #include "../nop.h"
7 
8 int
main()9 main ()
10 {
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;
47 }
48