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.