https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87172
--- Comment #2 from janus at gcc dot gnu.org --- Draft patch: diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index ded27624283..ea0ce800743 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -14245,7 +14245,7 @@ resolve_fl_derived (gfc_symbol *sym) &sym->declared_at)) return false; - if (sym->components == NULL && !sym->attr.zero_comp) + if (sym->components == NULL && !sym->attr.zero_comp && !sym->attr.use_assoc) { gfc_error ("Derived type %qs at %L has not been declared", sym->name, &sym->declared_at);