aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2007-10-06 23:44:48 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2007-10-06 23:44:48 +0000
commite0f6835db6e003a30aede61a263f3e02b0019f7e (patch)
tree736e02367183bdfb00693fae6672c3925d7c7b4d /gcc
parent049d24222dcadcf2d3d5c24005992d83303c3743 (diff)
downloadgcc-e0f6835db6e003a30aede61a263f3e02b0019f7e.zip
gcc-e0f6835db6e003a30aede61a263f3e02b0019f7e.tar.gz
gcc-e0f6835db6e003a30aede61a263f3e02b0019f7e.tar.bz2
re PR fortran/33609 (ICE on arithmetic overflow)
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/33609 * simplify.c (range_check): Return gfc_bad_expr if incoming expression is NULL. From-SVN: r129059
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/simplify.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f489db1..9cc097c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/33609
+ * simplify.c (range_check): Return gfc_bad_expr if incoming expression
+ is NULL.
+
2007-10-06 Tobias Schlüter <tobi@gcc.gnu.org>
* simplify.c (gfc_simplify_size): Fix typo.
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index 4701f9e..c9885ddd 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -70,6 +70,9 @@ gfc_expr gfc_bad_expr;
static gfc_expr *
range_check (gfc_expr *result, const char *name)
{
+ if (result == NULL)
+ return &gfc_bad_expr;
+
switch (gfc_range_check (result))
{
case ARITH_OK: