https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109886
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Aldy Hernandez from comment #2) > If irange::supports_p (TREE_TYPE (arg)) is true, we're talking about an > integer/pointer, but if range_cast is being called on a parm_type of > RECORD_TYPE, someone's trying to cast a structure to an integer. Is that > the intent here, because that will not work with ranges?? That is correct. The generated code has a VIEW_CONVERT_EXR from an integer type to a RECORD_TYPE.