aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2005-07-25 14:01:02 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2005-07-25 14:01:02 +0000
commit5c97e2de43942fc14fdae03b062465e04b82e6d1 (patch)
tree8abddc3e21ff52977a1396773b8d854e87fe17ce /gcc
parent7fefc172f162bd38fd5e8de65ea645b418cf256f (diff)
downloadgcc-5c97e2de43942fc14fdae03b062465e04b82e6d1.zip
gcc-5c97e2de43942fc14fdae03b062465e04b82e6d1.tar.gz
gcc-5c97e2de43942fc14fdae03b062465e04b82e6d1.tar.bz2
tree-dfa.c (mark_new_vars_to_rename): Protect against calling with a PHI_NODE argument.
2005-07-25 Richard Guenther <rguenther@suse.de> * tree-dfa.c (mark_new_vars_to_rename): Protect against calling with a PHI_NODE argument. * tree-flow-inline.h (overlap_subvar): Protect against possible overflow. From-SVN: r102358
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-dfa.c3
-rw-r--r--gcc/tree-flow-inline.h2
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd3dcdf..530a11d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2005-07-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (mark_new_vars_to_rename): Protect against
+ calling with a PHI_NODE argument.
+
+ * tree-flow-inline.h (overlap_subvar): Protect against
+ possible overflow.
+
2005-07-25 Paolo Bonzini <bonzini@gnu.org>
* aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index b9fecfb..beb83fb 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -708,6 +708,9 @@ mark_new_vars_to_rename (tree stmt)
int v_may_defs_before, v_may_defs_after;
int v_must_defs_before, v_must_defs_after;
+ if (TREE_CODE (stmt) == PHI_NODE)
+ return;
+
vars_in_vops_to_rename = BITMAP_ALLOC (NULL);
/* Before re-scanning the statement for operands, mark the existing
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 30d13ab..7bcfefd 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -1518,7 +1518,7 @@ overlap_subvar (unsigned HOST_WIDE_INT offset, unsigned HOST_WIDE_INT size,
{
return true;
}
- else if (offset < sv->offset && (offset + size > sv->offset))
+ else if (offset < sv->offset && (size > sv->offset - offset))
{
return true;
}