------- Comment #8 from bonzini at gnu dot org 2009-04-23 16:10 ------- Eric, fold only does it for constant C1 and C2 in "a >= C1 && a <= C2", not for variable C1 and C2. in fact, in the other case it would be illegal to do the transformation. the front-end can do it because it knows that m->length is positive.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39870