]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/vla-13.c
replace ISL with isl
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / vla-13.c
CommitLineData
928c19bb
JM
1/* Test for VLA size evaluation; see PR 35198. */
2/* Origin: Joseph Myers <joseph@codesourcery.com> */
3/* { dg-do run } */
4/* { dg-options "-std=c99" } */
5
6extern void exit (int);
7extern void abort (void);
8
9int i;
10void *p;
11
12void
13f1 (void *x, int j)
14{
15 p = (int (*)[++i])x;
16 if (i != j)
17 abort ();
18}
19
20void
21f1c (void *x, int j)
22{
23 p = (int (*)[++i]){x};
24 if (i != j)
25 abort ();
26}
27
28void
29f2 (void *x, int j)
30{
31 x = (void *)(int (*)[++i])p;
32 if (i != j)
33 abort ();
34}
35
36void
37f2c (void *x, int j)
38{
39 x = (void *)(int (*)[++i]){p};
40 if (i != j)
41 abort ();
42}
43
44void
45f3 (void *x, int j)
46{
47 (void)(int (*)[++i])p;
48 if (i != j)
49 abort ();
50}
51
52void
53f3c (void *x, int j)
54{
55 (void)(int (*)[++i]){p};
56 if (i != j)
57 abort ();
58}
59
60void
61f4 (void *x, int j)
62{
63 (int (*)[++i])p;
64 (int (*)[++i])p;
65 if (i != j)
66 abort ();
67}
68
69void
70f4c (void *x, int j)
71{
72 (int (*)[++i]){p};
73 (int (*)[++i]){p};
74 if (i != j)
75 abort ();
76}
77
78void
79f5c (void *x, int j, int k)
80{
81 (++i, f3c (x, j), (int (*)[++i]){p});
82 if (i != k)
83 abort ();
84}
85
86int
87main (void)
88{
89 f1 (p, 1);
90 f2 (p, 2);
91 f3 (p, 3);
92 f4 (p, 5);
93 f1c (p, 6);
94 f2c (p, 7);
95 f3c (p, 8);
96 f4c (p, 10);
97 f5c (p, 12, 13);
98 exit (0);
99}