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);

Reply via email to