https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59107
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- @@ -6930,7 +6931,9 @@ resolve_allocate_expr (gfc_expr *e, gfc_ goto failure; } - if (code->ext.alloc.ts.type == BT_CHARACTER && !e->ts.deferred) + /* Check F08:C632. */ + if (code->ext.alloc.ts.type == BT_CHARACTER && !e->ts.deferred + && !UNLIMITED_POLY (e)) { int cmp = gfc_dep_compare_expr (e->ts.u.cl->length, code->ext.alloc.ts.u.cl->length); in comment 11 is a left over of another patch.