tree-optimization/106868 - bogus -Wdangling-pointer diagnostic
authorRichard Biener <rguenther@suse.de>
Mon, 5 Dec 2022 09:13:13 +0000 (10:13 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 5 Dec 2022 13:55:44 +0000 (14:55 +0100)
commitd492d50f644811327c5976e2c918ab6d906ed40c
tree75d52df242e70b54750ff859c264132b63ca975e
parent109148dd16e4bcd50faee19c49082de69d0ba26e
tree-optimization/106868 - bogus -Wdangling-pointer diagnostic

The testcase shows we mishandle the case where there's a pass-through
of a pointer through a function like memcpy.  The following adjusts
handling of this copy case to require a taken address and adjust
the PHI case similarly.

PR tree-optimization/106868
* gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
Inline into single user ...
(pass_waccess::check_dangling_uses): ... here and adjust the
call and the PHI case to require that ref.aref is the address
of the decl.

* gcc.dg/Wdangling-pointer-pr106868.c: New testcase.
gcc/gimple-ssa-warn-access.cc
gcc/testsuite/gcc.dg/Wdangling-pointer-pr106868.c [new file with mode: 0644]