revert: tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
authorMeador Inge <meadori@codesourcery.com>
Tue, 3 Sep 2013 17:04:39 +0000 (17:04 +0000)
committerMeador Inge <meadori@gcc.gnu.org>
Tue, 3 Sep 2013 17:04:39 +0000 (17:04 +0000)
gcc/

2013-09-03  Meador Inge  <meadori@codesourcery.com>

Revert:

2013-08-30  Meador Inge  <meadori@codesourcery.com>

* tree-vrp.c (check_array_ref): Bail out on zero-length arrays.

gcc/testsuite/

2013-09-03  Meador Inge  <meadori@codesourcery.com>

Revert:

2013-08-30  Meador Inge  <meadori@codesourcery.com>

* gcc.dg/Warray-bounds-11.c: New testcase.

From-SVN: r202228

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Warray-bounds-11.c [deleted file]
gcc/tree-vrp.c

index 5b1adf0676d827e777cf1c82ee9517d69c36d7d3..e146e2a86be6078015fce4e06a1e1bf280039c4b 100644 (file)
@@ -1,3 +1,11 @@
+2013-09-03  Meador Inge  <meadori@codesourcery.com>
+
+       Revert:
+
+       2013-08-30  Meador Inge  <meadori@codesourcery.com>
+
+       * tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
+
 2013-09-03  David Edelsohn  <dje.gcc@gmail.com>
 
        * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for
index 935b3c351af194b45af2ca2c4fd9db0090016e25..8712a19a36da4cfbc6099df36354d3567591ff22 100644 (file)
@@ -1,3 +1,11 @@
+2013-09-03  Meador Inge  <meadori@codesourcery.com>
+
+       Revert:
+
+       2013-08-30  Meador Inge  <meadori@codesourcery.com>
+
+       * gcc.dg/Warray-bounds-11.c: New testcase.
+
 2013-09-03  David Edelsohn  <dje.gcc@gmail.com>
 
        * lib/target-supports.exp (check_weak_available): Return true for AIX.
diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-11.c b/gcc/testsuite/gcc.dg/Warray-bounds-11.c
deleted file mode 100644 (file)
index 130175d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Warray-bounds -std=gnu99" } */
-/* Test zero-length arrays for GNU C.  */
-
-unsigned int a[] = { };
-unsigned int size_a;
-
-int test(void)
-{
-  /* This should not warn.  */
-  return size_a ? a[0] : 0;
-}
index 062e03c5c4351af3b067541ef4485e6d93e26261..d5548ff55eb3d8d554f02553fd2bcdf2dd7c7787 100644 (file)
@@ -6137,10 +6137,9 @@ check_array_ref (location_t location, tree ref, bool ignore_off_by_one)
   low_sub = up_sub = TREE_OPERAND (ref, 1);
   up_bound = array_ref_up_bound (ref);
 
-  /* Can not check flexible arrays or zero-length arrays.  */
+  /* Can not check flexible arrays.  */
   if (!up_bound
-      || TREE_CODE (up_bound) != INTEGER_CST
-      || tree_int_cst_equal (up_bound, integer_minus_one_node))
+      || TREE_CODE (up_bound) != INTEGER_CST)
     return;
 
   /* Accesses to trailing arrays via pointers may access storage