diff options
author | Richard Guenther <rguenther@suse.de> | 2005-07-25 14:01:02 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2005-07-25 14:01:02 +0000 |
commit | 5c97e2de43942fc14fdae03b062465e04b82e6d1 (patch) | |
tree | 8abddc3e21ff52977a1396773b8d854e87fe17ce /gcc | |
parent | 7fefc172f162bd38fd5e8de65ea645b418cf256f (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-dfa.c | 3 | ||||
-rw-r--r-- | gcc/tree-flow-inline.h | 2 |
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; } |