diff options
author | Tobias Burnus <burnus@net-b.de> | 2007-05-04 15:40:32 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-05-04 15:40:32 +0200 |
commit | b2890f04bdb5f579c901c49aa7f544601806061f (patch) | |
tree | 9693ca020193aea54c7f79c6cbe39b0bf17042ad /gcc/fortran | |
parent | 26fbc975c83a59ba27e067207c21f083b42b0aba (diff) | |
download | gcc-b2890f04bdb5f579c901c49aa7f544601806061f.zip gcc-b2890f04bdb5f579c901c49aa7f544601806061f.tar.gz gcc-b2890f04bdb5f579c901c49aa7f544601806061f.tar.bz2 |
re PR fortran/31803 (ICE for character pointer => target(range))
2007-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/31803
* expr.c (gfc_check_pointer_assign): Check for NULL pointer.
2007-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/31803
* gfortran.dg/char_pointer_assign_3.f90: New test.
* gfortran.dg/char_result_2.f90: Re-enable test.
From-SVN: r124419
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/expr.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 71ec57e..b3b17fd 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2007-05-04 Tobias Burnus <burnus@net-b.de> + + PR fortran/31803 + * expr.c (gfc_check_pointer_assign): Check for NULL pointer. + 2007-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/31251 diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index a408229..9957a46 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -2553,6 +2553,7 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue) return SUCCESS; if (lvalue->ts.type == BT_CHARACTER + && lvalue->ts.cl && rvalue->ts.cl && lvalue->ts.cl->length && rvalue->ts.cl->length && abs (gfc_dep_compare_expr (lvalue->ts.cl->length, rvalue->ts.cl->length)) == 1) |