1 /* { dg-do compile } */
2 /* { dg-xfail-if "PR 31500" { hppa*-*-* && { ! hppa*64*-*-* } } } */
3 /* { dg-options "-O2 -Warray-bounds" } */
7 static inline int n(void) {
8 __SIZE_TYPE__ strlen(const char *s);
9 return strlen("12345");
22 a[-1] = 0; /* { dg-warning "array subscript" } */
28 a[10] = 0; /* { dg-warning "array subscript" } */
29 a[11] = 0; /* { dg-warning "array subscript" } */
30 a[2 * n() - 11] = 0; /* { dg-warning "array subscript" } */
33 a[2 * n() - 0] = 0; /* { dg-warning "array subscript" } */
35 b[-1] = 0; /* { dg-warning "array subscript" } */
39 b[10] = 0; /* { dg-warning "array subscript" } */
40 b[11] = 0; /* { dg-warning "array subscript" } */
41 b[2 * n() - 11] = 0; /* { dg-warning "array subscript" } */
44 b[2 * n() - 0] = 0; /* { dg-warning "array subscript" } */
46 c.c[-1] = 0; /* { dg-warning "array subscript" } */
50 c.c[10] = 0; /* { dg-warning "array subscript" } */
51 c.c[11] = 0; /* { dg-warning "array subscript" } */
52 c.c[2 * n() - 11] = 0; /* { dg-warning "array subscript" } */
53 c.c[2 * n() - 10] = 0;
55 c.c[2 * n() - 0] = 0; /* { dg-warning "array subscript" } */
60 g(&a[11]); /* { dg-warning "array subscript" } */
61 g(&a[-30]+10); /* { dg-warning "array subscript" } */
66 g(&a[11]); /* { dg-warning "array subscript" } */
67 g(&b[11]); /* { dg-warning "array subscript" } */
68 g(&c.c[11]); /* { dg-warning "array subscript" } */
74 g(&a[-1]); /* { dg-warning "array subscript" } */
75 g(&b[-1]); /* { dg-warning "array subscript" } */
91 } /* { dg-excess-errors "PR 31500" { xfail { hppa*-*-* && { ! hppa*64*-*-* } } } } */