annotate gcc/testsuite/gcc.dg/pr65345-2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR c/65345 */
kono
parents:
diff changeset
2 /* { dg-do run } */
kono
parents:
diff changeset
3 /* { dg-require-effective-target sync_int_long } */
kono
parents:
diff changeset
4 /* { dg-options "" } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 #define CHECK(X) if (!(X)) __builtin_abort ()
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 _Atomic int i = 5;
kono
parents:
diff changeset
9 _Atomic int j = 2;
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 void
kono
parents:
diff changeset
12 fn1 (int a[i = 0])
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 void
kono
parents:
diff changeset
17 fn2 (int a[i += 2])
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 void
kono
parents:
diff changeset
22 fn3 (int a[++i])
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 void
kono
parents:
diff changeset
27 fn4 (int a[++i])
kono
parents:
diff changeset
28 {
kono
parents:
diff changeset
29 }
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 void
kono
parents:
diff changeset
32 fn5 (int a[++i][j = 10])
kono
parents:
diff changeset
33 {
kono
parents:
diff changeset
34 }
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 void
kono
parents:
diff changeset
37 fn6 (int a[i = 7][j--])
kono
parents:
diff changeset
38 {
kono
parents:
diff changeset
39 }
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 int
kono
parents:
diff changeset
42 main ()
kono
parents:
diff changeset
43 {
kono
parents:
diff changeset
44 int a[10];
kono
parents:
diff changeset
45 int aa[10][10];
kono
parents:
diff changeset
46 fn1 (a);
kono
parents:
diff changeset
47 CHECK (i == 0);
kono
parents:
diff changeset
48 fn2 (a);
kono
parents:
diff changeset
49 CHECK (i == 2);
kono
parents:
diff changeset
50 fn3 (a);
kono
parents:
diff changeset
51 CHECK (i == 3);
kono
parents:
diff changeset
52 fn4 (a);
kono
parents:
diff changeset
53 CHECK (i == 4);
kono
parents:
diff changeset
54 fn5 (aa);
kono
parents:
diff changeset
55 CHECK (i == 5);
kono
parents:
diff changeset
56 CHECK (j == 10);
kono
parents:
diff changeset
57 fn6 (aa);
kono
parents:
diff changeset
58 CHECK (i == 7);
kono
parents:
diff changeset
59 CHECK (j == 9);
kono
parents:
diff changeset
60 }