OSDN Git Service

Add new testcases.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / Warray-bounds.c
index 31f6c6e..4412039 100644 (file)
@@ -1,5 +1,4 @@
 /* { dg-do compile } */
-/* { dg-skip-if "PR 31500" { hppa*-*-* } { "*" } { "" } } */
 /* { dg-options "-O2 -Warray-bounds" } */
 
 int a[10];
@@ -19,52 +18,51 @@ int* f(void) {
        int c[10];
     } c;
 
-    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[11]);             /* { dg-warning "array subscript" "" { xfail *-*-* } } */
     g(&a[-30]+10);             /* { dg-warning "array subscript" } */
     g(&a[-30]+30);
 
     g(&b[10]);
     g(&c.c[10]);
-    g(&a[11]);             /* { dg-warning "array subscript" } */
-    g(&b[11]);             /* { dg-warning "array subscript" } */
+    g(&b[11]);             /* { dg-warning "array subscript" "" { xfail *-*-* } } */
     g(&c.c[11]);           /* { dg-warning "array subscript" } */
 
     g(&a[0]);
@@ -88,7 +86,7 @@ int* f(void) {
        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;
 }