https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110993

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #2 from anlauf at gcc dot gnu.org ---
This fixes the bogus shape mismatch by recognizing the rename-on-use:

diff --git a/gcc/fortran/frontend-passes.cc b/gcc/fortran/frontend-passes.cc
index 987238794da..83b184cfe83 100644
--- a/gcc/fortran/frontend-passes.cc
+++ b/gcc/fortran/frontend-passes.cc
@@ -5800,6 +5800,10 @@ check_against_globals (gfc_symbol *sym)

   if (sym->binding_label)
     sym_name = sym->binding_label;
+  else if (sym->attr.use_rename
+          && sym->ns->use_stmts->rename
+          && sym->ns->use_stmts->rename->local_name[0] != '\0')
+    sym_name = sym->ns->use_stmts->rename->local_name;
   else
     sym_name = sym->name;

Reply via email to