aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.dg/Warray-bounds-11.c12
-rw-r--r--gcc/tree-vrp.c5
4 files changed, 18 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5b1adf0..e146e2a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 935b3c3..8712a19 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 130175d..0000000
--- a/gcc/testsuite/gcc.dg/Warray-bounds-11.c
+++ /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;
-}
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 062e03c..d5548ff 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -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