https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103161
--- Comment #6 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #5) > Great! With the strlen conversion to ranger > (g:6b8b959675a3e14cfdd2145bd62e4260eb193765) the test now fails on x86_64 as > well: I didn't see any regressions on x86-64 testing, except builtin-sprintf-warn-22.c which I xfailed. > I think the test unwittingly depends on GCC not inferring a range from a > conditional (although the intent is clearly that it does). It uses an > unsigned int as the width argument to sprintf which is undefined, but I > suspect it does it as an attempt to create a signed anti-range. So this If the code uses multi-ranges there should be no anti-ranges. Anti-ranges do not exist in the new world, and reference to them should be removed. I still see them in: gimple-ssa-warn-restrict.c tree-ssa-strlen.c builtins.c ipa-fnsummary.c (well and in ipa-prop.c, but they're kinda hijacking it for their own purposes). The remaining uses are internal to the legacy implementation (vrvalues, tree-vrp, etc) so they're ok.