From c11384aa75f6c6f78f1ea2c700ebd8a83b16106b Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Mon, 28 Aug 2017 20:46:28 +0200 Subject: re PR fortran/81770 (Bogus warning: Pointer in pointer assignment might outlive the pointer target) 2017-08-28 Janus Weil PR fortran/81770 * expr.c (gfc_check_pointer_assign): Improve the check whether pointer may outlive pointer target. 2017-08-28 Janus Weil PR fortran/81770 * gfortran.dg/warn_target_lifetime_3.f90: Fix a typo. * gfortran.dg/warn_target_lifetime_4.f90: New testcase. From-SVN: r251390 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/expr.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 61f4a20..56a0ed9 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2017-08-28 Janus Weil + + PR fortran/81770 + * expr.c (gfc_check_pointer_assign): Improve the check whether pointer + may outlive pointer target. + 2017-08-27 Thomas Koenig PR fortran/81974 diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 64af02c..5a101a8 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -3806,7 +3806,8 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue) if (warn_target_lifetime && rvalue->expr_type == EXPR_VARIABLE && !rvalue->symtree->n.sym->attr.save - && !attr.pointer && !rvalue->symtree->n.sym->attr.host_assoc + && !rvalue->symtree->n.sym->attr.pointer && !attr.pointer + && !rvalue->symtree->n.sym->attr.host_assoc && !rvalue->symtree->n.sym->attr.in_common && !rvalue->symtree->n.sym->attr.use_assoc && !rvalue->symtree->n.sym->attr.dummy) -- cgit v1.1