OSDN Git Service

PR tree-optimization/52019
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / Warray-bounds.c
index 02fd817..aa154a7 100644 (file)
@@ -17,49 +17,48 @@ int* f(void) {
     struct {
        int c[10];
     } c;
-    int p[0], q[1], r[2], s[3], t[4];
 
-    a[-1] = 0;             /* { dg-warning "array subscript" } */
+    a[-1] = 0;             /* { dg-warning "6:array subscript" } */
     a[ 0] = 0;
     a[ 1] = 0;
 
 
     a[ 9] = 0;
-    a[10] = 0;             /* { dg-warning "array subscript" } */
-    a[11] = 0;             /* { dg-warning "array subscript" } */
-    a[2 * n() - 11] = 0;    /* { dg-warning "array subscript" } */
-    a[2 * n() - 10] = 0;
-    a[2 * n() -  1] = 0;
-    a[2 * n() -  0] = 0;    /* { dg-warning "array subscript" } */
-
-    b[-1] = 0;             /* { dg-warning "array subscript" } */
+    a[10] = 0;             /* { dg-warning "6:array subscript" } */
+    a[11] = 0;             /* { dg-warning "6:array subscript" } */
+    a[2 * n() - 11] = 1;    /* { dg-warning "6:array subscript" } */
+    a[2 * n() - 10] = 1;
+    a[2 * n() -  1] = 1;
+    a[2 * n() -  0] = 1;    /* { dg-warning "6:array subscript" } */
+
+    b[-1] = 0;             /* { dg-warning "6:array subscript" } */
     b[ 0] = 0;
     b[ 1] = 0;
     b[ 9] = 0;
-    b[10] = 0;             /* { dg-warning "array subscript" } */
-    b[11] = 0;             /* { dg-warning "array subscript" } */
-    b[2 * n() - 11] = 0;    /* { dg-warning "array subscript" } */
-    b[2 * n() - 10] = 0;
-    b[2 * n() -  1] = 0;
-    b[2 * n() -  0] = 0;    /* { dg-warning "array subscript" } */
-
-    c.c[-1] = 0;           /* { dg-warning "array subscript" } */
+    b[10] = 0;             /* { dg-warning "6:array subscript" } */
+    b[11] = 0;             /* { dg-warning "6:array subscript" } */
+    b[2 * n() - 11] = 1;    /* { dg-warning "6:array subscript" } */
+    b[2 * n() - 10] = 1;
+    b[2 * n() -  1] = 1;
+    b[2 * n() -  0] = 1;    /* { dg-warning "array subscript" } */
+
+    c.c[-1] = 0;           /* { dg-warning "8:array subscript" } */
     c.c[ 0] = 0;
     c.c[ 1] = 0;
     c.c[ 9] = 0;
-    c.c[10] = 0;           /* { dg-warning "array subscript" } */
-    c.c[11] = 0;           /* { dg-warning "array subscript" } */
-    c.c[2 * n() - 11] = 0;  /* { dg-warning "array subscript" } */
-    c.c[2 * n() - 10] = 0;
-    c.c[2 * n() -  1] = 0;
-    c.c[2 * n() -  0] = 0;  /* { dg-warning "array subscript" } */
+    c.c[10] = 0;           /* { dg-warning "8:array subscript" } */
+    c.c[11] = 0;           /* { dg-warning "8:array subscript" } */
+    c.c[2 * n() - 11] = 1;  /* { dg-warning "8:array subscript" } */
+    c.c[2 * n() - 10] = 1;
+    c.c[2 * n() -  1] = 1;
+    c.c[2 * n() -  0] = 1;  /* { dg-warning "8:array subscript" } */
 
     g(&a[8]);
     g(&a[9]);
     g(&a[10]);
     g(&a[11]);             /* { dg-warning "array subscript" } */
-    g(&a[-30]+10);         /* { dg-warning "array subscript" } */
-    g(&a[-30]+30);         /* { dg-warning "array subscript" } */
+    g(&a[-30]+10);             /* { dg-warning "array subscript" } */
+    g(&a[-30]+30);
 
     g(&b[10]);
     g(&c.c[10]);
@@ -79,45 +78,16 @@ int* f(void) {
     h(sizeof c.c[-1]);
     h(sizeof c.c[10]);
 
-    p[-1] = 0;             /* { dg-warning "array subscript" } */
-    p[0] = 0;
-    p[1] = 0;
-
-    q[-1] = 0;             /* { dg-warning "array subscript" } */
-    q[0] = 0;
-    q[1] = 0;
-    q[2] = 0;
-
-    r[-1] = 0;             /* { dg-warning "array subscript" } */
-    r[0] = 0;
-    r[1] = 0;
-    r[2] = 0;
-    r[3] = 0;              /* { dg-warning "array subscript" } */
-
-    s[-1] = 0;             /* { dg-warning "array subscript" } */
-    s[0] = 0;
-    s[1] = 0;
-    s[2] = 0;
-    s[3] = 0;
-    s[4] = 0;              /* { dg-warning "array subscript" } */
-
-    t[-1] = 0;             /* { dg-warning "array subscript" } */
-    t[0] = 0;
-    t[1] = 0;
-    t[2] = 0;
-    t[3] = 0;
-    t[4] = 0;
-    t[5] = 0;              /* { dg-warning "array subscript" } */
-
     if (10 < 10)
        a[10] = 0;
     if (10 < 10)
        b[10] = 0;
     if (-1 >= 0)
-       c.c[-1] = 0;        /* { dg-warning "array subscript" } */
+       c.c[-1] = 0;
 
     for (i = 20; i < 30; ++i)
-             a[i] = 1;       /* { dg-warning "array subscript" } */
+             a[i] = 1;       /* { dg-warning "15:array subscript" } */
 
     return a;
 }
+