------- Comment #51 from baldrick at free dot fr 2008-03-28 22:48 ------- Subject: Re: VRP fails to eliminate range checks in Ada code
> This is fold simplifying (js__TtB) target_first == -128 to > target_first == 128 via fold_sign_changed_comparison. Right, that was my instant guess. The Ada f-e is pretty systematic about converting everything to the base type before doing comparisons. While fold happily creates the kind of strangeness you observed. > And thus PR31023 which now also blocks this PR. In fact PR31023 was split out of this because of exactly this kind of problem in the testcase! I should have marked it as blocking this one, sorry. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30911