https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108639
--- Comment #12 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Yeah, I've been mulling around the idea of removing the type from storage of both irange and frange. It seems we need it for setting a type (setting the endpoints for varying, querying HONOR_NANS, HONOR_INFINITIES,e tc), but not in the storage itself. Something to keep in mind when moving to wide_ints. It does seem we need to keep the sign and precision somewhere. The precision lives in the wide-int, but the sign bit still needs storage??