On Mon, 7 Apr 2014, Jeff Law wrote:
I am also afraid we may get more false positives, but maybe not.
The only false positives should come from paths which are unexecutable. One
could argue that if we find any that we should warn, then isolate the path so
that we get an immediate runtime trap rather than letting the address of the
local escape through the return value.
That in turn would argue for dumping it into gimple-isolate-erroneous-paths
;-)
I wonder if trapping may be too strong? If a function sometimes returns a
pointer to a local variable but the caller always ignores the return value
in those cases, we can warn, but maybe we don't want to introduce a trap?
Replacing the address with a null pointer seemed like a compromise, it
will trap when you try to read it, but not if you ignore it. But if you
think we can trap, ok.
--
Marc Glisse