https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93338
--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > Likely another missing DECL_EXPR for variable-size stuff. TYPE_SIZE has > > (bitsizetype) (sizetype) _29 * 8 > > and _29 is released. This is confusing. Grepping through the gimple dump for the length .y , I see sizetype .y.16; integer(kind=8) .y; .y = _24; .y.15_29 = .y; .y.16 = (sizetype) .y.15_29; y.dtype.elem_len = .y.16; character(kind=1)[0:][1:.y] * D.3961; .y.19_40 = .y; _41 = _39 * .y.19_40; .y.20_44 = .y; _45 = _gfortran_compare_string (.y.20_44, _43, 3, &"abc"[1]{lb: 1 sz: 1}); .y = {CLOBBER}; so cheking the indentation, .y is correctly declared. _29 seems to be a variable that is introduced by gimple, possibly incorrectly. I am not sure how to debug this, or if this is even a front-end error, or just exposes something in the middle end.