aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2007-05-04 15:40:32 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2007-05-04 15:40:32 +0200
commitb2890f04bdb5f579c901c49aa7f544601806061f (patch)
tree9693ca020193aea54c7f79c6cbe39b0bf17042ad /gcc/fortran/expr.c
parent26fbc975c83a59ba27e067207c21f083b42b0aba (diff)
downloadgcc-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.c1
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)