https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107985
--- Comment #3 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Another alternative would be to add an is_a/as_a handler for unsupported_type's in value-range.h and a corresponding entry for unsupported types in range_operator: virtual bool fold_range (irange &r, tree type, const unsupported_range &lh, ...); with a default definition of: r.set_varying (type); return true; Finally, add the corresponding dispatch in range_op_handler::fold_range(). Then we could handle any unsupported range's that creep in. Or...we could fix the range_op_handler code...