]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/c-c++-common/Warray-bounds-9.c
1 /* PR tree-optimization/99121 - ICE in -Warray-bounds on a multidimensional
4 { dg-options "-O2 -Wall -ftrack-macro-expansion=0" } */
6 #define NOIPA __attribute__ ((noipa))
8 void sink (void*, ...);
9 #define T(a, x) sink (a, x)
12 NOIPA
void a_0_n (int n
)
18 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
19 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
20 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
23 NOIPA
void a_n_0 (int n
)
29 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
30 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
31 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
35 NOIPA
void a_1_n_0 (int n
)
41 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
42 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
43 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
46 NOIPA
void a_1_0_n (int n
)
52 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
53 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
54 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
57 NOIPA
void a_0_1_n (int n
)
63 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
64 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
65 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
68 NOIPA
void a_0_n_1 (int n
)
74 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
75 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
76 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
79 NOIPA
void a_n_0_n (int n
)
85 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
86 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
87 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
90 NOIPA
void a_n_n_0 (int n
)
96 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
97 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
98 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
101 NOIPA
void a_0_n_n (int n
)
107 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
108 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
109 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
112 NOIPA
void a_0_0_n (int n
)
118 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
119 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
120 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
123 NOIPA
void a_n_0_0 (int n
)
129 T (a
, ((int *) a
)[0]); // { dg-warning "\\\[-Warray-bounds" }
130 T (a
, ((char *) a
)[1]); // { dg-warning "\\\[-Warray-bounds" }
131 T (a
, ((float *) a
)[n
]); // { dg-warning "\\\[-Warray-bounds" }
134 NOIPA
void a_n_n_n (int n
)
140 T (a
, ((int *) a
)[-1]); // { dg-warning "\\\[-Warray-bounds" "pr99140" }
141 T (a
, ((int *) a
)[0]);
142 T (a
, ((char *) a
)[1]);
143 T (a
, ((float *) a
)[n
]);