https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102450
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW CC| |ebotcazou at gcc dot gnu.org, | |rguenth at gcc dot gnu.org --- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- Yeah, type_for_size should return any of the _standard_ integer types with the given precision/size. It is not an replacement for random integer type construction. OTOH the gimple folding code doing tree type = lang_hooks.types.type_for_size (ilen * 8, 1); could eventually instead use mode_for_size (and check that size == precision) and then type_for_mode. The code already looks at the mode for verification and it would avoid the Ada issue at least (I still think the Ada FE shouldn't ICE when being passed not supported precisions): if (type && is_a <scalar_int_mode> (TYPE_MODE (type), &mode) && GET_MODE_SIZE (mode) * BITS_PER_UNIT == ilen * 8 && have_insn_for (SET, mode) Eric?