https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26939
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In GCC 4.7 (and above), we get: Analyzing # of iterations of loop 2 exit condition [1, + , 1](no_overflow) <= i1_6(D) bounds on difference of bases: -1 ... 2147483646 result: under assumptions i1_6(D) != 2147483647 # of iterations (unsigned int) i1_6(D), bounded by 2147483647 Analyzing # of iterations of loop 1 exit condition [1, + , 1](no_overflow) <= j1_4(D) bounds on difference of bases: -1 ... 2147483646 result: under assumptions j1_4(D) != 2147483647 # of iterations (unsigned int) j1_4(D), bounded by 2147483647 Is there anything to fix in this bug left? (In reply to Dmitry G. Dyachenko from comment #24) > is this the same problem? -- 'i*2 < 35' can't overflow The warning for this one is gone in GCC 4.6.0+