On Tue, Nov 01, 2005 at 11:17:52AM -0700, Jeffrey A Law wrote:
> On Tue, 2005-11-01 at 11:06 -0500, Diego Novillo wrote:
> > To prevent losing location information for the warning, I had modified the
> > propagation engine to warn as it folded the expression away.
> Possibly a useful thing to have, but I don't think we want to put
> the burden of detecting uninitialized variables onto each
> optimizer :-)
Just an off-the-wall idea: What if dereferencing an uninitialized variable
is considered a side effect? Then that side effect must be preserved
unless it is unreachable. Consider
while (i > 0)
i--;
// no more uses of i.
Instead of throwing everything away, this would become
__check_initialized(i);
and we would still get the warning.