On Tue, 2005-11-01 at 12:56 -0800, Mark Mitchell wrote: > Diego Novillo wrote: > > > We won't get perfect answers, which is fine given the nature of the > > problem. However, I would like, to get *consistent* answers. > > Yes, I agree that's very important. In fact, I'd like to generalize > that to say that -- as much as possible -- the same code should generate > the same warnings across architectures, optimization levels, and > releases as well. If -O3 causes us to say "might have been > uninitialized, but we removed it" while -O0 just says "uninitialized" > that's probably OK. But, having warnings not appear at -O0, or go away > completely with higher levels of optimization isn't good. I'm OK with this, as long as it's option controlled separate from -Wuninitialized or it's enabled with something like -Wuninitialized-blah
I don't have terribly strong opinions on whether or not the warning text changes. It's cool that we can distinguish the cases, but there are more important things in life :-) It's certainly easier to implement a switch that just changes when we run the maybe-uninitialized code than it is to implement the changes necessary to issue the more precise warnings in the two-pass approach. Jeff