diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2013-03-03 19:58:49 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2013-03-03 19:58:49 +0000 |
commit | 1216b4d21d04278222774cd255c4699b656f4fef (patch) | |
tree | e1121e93e0e7798fa2332cf5a99c3f4226427c14 /gcc/fortran/expr.c | |
parent | d6a5de161587f701089fdafada742cf275ccd7f8 (diff) | |
download | gcc-1216b4d21d04278222774cd255c4699b656f4fef.zip gcc-1216b4d21d04278222774cd255c4699b656f4fef.tar.gz gcc-1216b4d21d04278222774cd255c4699b656f4fef.tar.bz2 |
re PR fortran/56477 (ICE on invalid with pointer assignment to function result)
fortran/
PR fortran/56477
* expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
testsuite/
PR fortran/56477
* gfortran.dg/pointer_check_13.f90: New test.
From-SVN: r196417
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 3843c2e..fd17a05 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -3732,7 +3732,7 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue) && rvalue->symtree->n.sym->ns->proc_name->attr.flavor != FL_PROCEDURE && rvalue->symtree->n.sym->ns->proc_name->attr.flavor != FL_PROGRAM) for (ns = rvalue->symtree->n.sym->ns; - ns->proc_name && ns->proc_name->attr.flavor != FL_PROCEDURE; + ns && ns->proc_name && ns->proc_name->attr.flavor != FL_PROCEDURE; ns = ns->parent) if (ns->parent == lvalue->symtree->n.sym->ns) warn = true; |