aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2017-08-28 20:46:28 +0200
committerJanus Weil <janus@gcc.gnu.org>2017-08-28 20:46:28 +0200
commitc11384aa75f6c6f78f1ea2c700ebd8a83b16106b (patch)
tree1e88e8c31e7f667c8714f533bf27d4640a4c4c94 /gcc/fortran/expr.c
parentac9a43e165b5cb6cd505955d58cb3d6aadbf6dcd (diff)
downloadgcc-c11384aa75f6c6f78f1ea2c700ebd8a83b16106b.zip
gcc-c11384aa75f6c6f78f1ea2c700ebd8a83b16106b.tar.gz
gcc-c11384aa75f6c6f78f1ea2c700ebd8a83b16106b.tar.bz2
re PR fortran/81770 (Bogus warning: Pointer in pointer assignment might outlive the pointer target)
2017-08-28 Janus Weil <janus@gcc.gnu.org> PR fortran/81770 * expr.c (gfc_check_pointer_assign): Improve the check whether pointer may outlive pointer target. 2017-08-28 Janus Weil <janus@gcc.gnu.org> 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
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c3
1 files changed, 2 insertions, 1 deletions
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)