]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR c/11207
authorkraai <kraai@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2003 01:36:29 +0000 (01:36 +0000)
committerkraai <kraai@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2003 01:36:29 +0000 (01:36 +0000)
* c-typeck.c (set_init_index): Check for negative index.

(testsuite/)
* gcc.dg/noncompile/20030818-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70553 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/noncompile/20030818-1.c [new file with mode: 0644]

index d14e72c935aff36b606693c8cfc6be43a93e979d..b62d2c98a2ee17eb8b302eaab1269597379fc5b7 100644 (file)
@@ -1,3 +1,8 @@
+2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       PR c/11207
+       * c-typeck.c (set_init_index): Check for negative index.
+
 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
index 224741bf819b98c71b13a573ace6490dc8239e3b..423d6bdca12cc105eeb6b47f35008368b9302bc6 100644 (file)
@@ -4956,6 +4956,8 @@ set_init_index (tree first, tree last)
     error_init ("nonconstant array index in initializer");
   else if (TREE_CODE (constructor_type) != ARRAY_TYPE)
     error_init ("array index in non-array initializer");
+  else if (tree_int_cst_sgn (first) == -1)
+    error_init ("array index in initializer exceeds array bounds");
   else if (constructor_max_index
           && tree_int_cst_lt (constructor_max_index, first))
     error_init ("array index in initializer exceeds array bounds");
index 6a38f18f506c64312314b09b8485aaf1b61622ac..29553cd3603f2b55ebefdb9e5a099b0f0864b0bd 100644 (file)
@@ -1,3 +1,7 @@
+2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * gcc.dg/noncompile/20030818-1.c: New.
+
 2003-08-18  Nathan Sidwell  <nathan@codesourcery.com>
 
        * g++.dg/template/scope2.C: New test.
diff --git a/gcc/testsuite/gcc.dg/noncompile/20030818-1.c b/gcc/testsuite/gcc.dg/noncompile/20030818-1.c
new file mode 100644 (file)
index 0000000..6e62629
--- /dev/null
@@ -0,0 +1,3 @@
+/* PR 11207.  */
+
+char font8x8[256][8] = { [-1] = { 0 } }; /* { dg-error "array index in initializer exceeds array bounds" } */