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/expr.c | |
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/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) |