------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-17 20:37 ------- (In reply to comment #10) > > No because Ada front-end is creating: > > signed_char <= 127 which is always true, removing this from fold would not > > change the problem as it will still be optimized away. > > Where do you see signed_char? The type 0x556d9144 is unsigned.
Woops, I must have read something wrong. This is still a bug in the VRP. C Testcase: unsigned char c[0xFF]; void f(void) { unsigned char i; c[128] = 128; i = 0; while (1) { if (((signed char) i) < 0) break; c[i] = ' '; i++; } } -- What |Removed |Added ---------------------------------------------------------------------------- CC| |dnovillo at gcc dot gnu dot | |org Component|ada |tree-optimization Summary|[4.1 Regression] Ada depends|[4.1 Regression] vrp |on signed overflow |miscompiles Ada front-end, | |drops loop exit test in | |well-defined wrap-around | |circumstances http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21959