diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2007-10-06 23:44:48 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2007-10-06 23:44:48 +0000 |
commit | e0f6835db6e003a30aede61a263f3e02b0019f7e (patch) | |
tree | 736e02367183bdfb00693fae6672c3925d7c7b4d | |
parent | 049d24222dcadcf2d3d5c24005992d83303c3743 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/simplify.c | 3 |
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: |