[Bug middle-end/34197] array overflow warning without line number
mueller at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Nov 22 22:35:00 GMT 2007
------- Comment #4 from mueller at gcc dot gnu dot org 2007-11-22 22:34 -------
thanks for the analysis. I would go for a slightly more verbose version of the
same patch:
--- gcc/tree-vrp.c (revision 130297)
+++ gcc/tree-vrp.c (working copy)
@@ -4339,7 +4339,7 @@ check_array_ref (tree ref, location_t* l
low_sub = up_sub = TREE_OPERAND (ref, 1);
- if (!up_bound || !locus || TREE_NO_WARNING (ref)
+ if (!up_bound || TREE_NO_WARNING (ref)
|| TREE_CODE (up_bound) != INTEGER_CST
/* Can not check flexible arrays. */
|| (TYPE_SIZE (TREE_TYPE (ref)) == NULL_TREE
@@ -4441,6 +4441,11 @@ check_array_bounds (tree *tp, int *walk_
tree stmt = (tree)data;
location_t *location = EXPR_LOCUS (stmt);
+ if (!EXPR_HAS_LOCATION (stmt)) {
+ *walk_subtree = FALSE;
+ return NULL_TREE;
+ }
+
*walk_subtree = TRUE;
if (TREE_CODE (t) == ARRAY_REF)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34197
More information about the Gcc-bugs
mailing list