On Tue, 2006-02-21 at 14:14 -0500, Richard Kenner wrote: > OK. So if a program sets an object to a value outside > TYPE_MIN_VALUE/TYPE_MAX_VALUE, then that program is > invalid for the purposes of this discussion? > > Correct. Of course, it has to be the *program* that's doing the set > (meaning setting a user-defined variable). If the compiler is messing > up (either front- or middle-end), then this discussion becomes quite > relevant. In this specific case it is a user variable. However, we should probably clarify the compiler-temporary case as well as VRP really does not and should not care if an object is a user variable or a compiler generated temporary.
So, if we have an object with the range based on its type of [0, 0x7fffffff] and we add 1 to that object, the resulting range should be [1, 0x7fffffff]. ie, 0x80000000 is not a valid value for the type. Right? jeff