aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorAndre Vehreschild <vehre@gcc.gnu.org>2025-03-17 08:24:04 +0100
committerAndre Vehreschild <vehre@gcc.gnu.org>2025-03-19 14:55:59 +0100
commit9a13dc48a3ac3282aaf9a77516b4f02faa60e393 (patch)
treebbc6667b99f1313987a97b49d3174fb959eca66d /gcc/fortran
parentd50171bc07006dfb56cae487d72913e5d2567716 (diff)
downloadgcc-9a13dc48a3ac3282aaf9a77516b4f02faa60e393.zip
gcc-9a13dc48a3ac3282aaf9a77516b4f02faa60e393.tar.gz
gcc-9a13dc48a3ac3282aaf9a77516b4f02faa60e393.tar.bz2
Fortran: Fix comp call in associate [PR119272]
PR fortran/119272 gcc/fortran/ChangeLog: * resolve.cc (resolve_compcall): Postpone error report when symbol is not resolved yet for component call resolve. gcc/testsuite/ChangeLog: * gfortran.dg/associate_74.f90: New test.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/resolve.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index ddd9827..b9c469a 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -7351,8 +7351,9 @@ resolve_compcall (gfc_expr* e, const char **name)
/* Check that's really a FUNCTION. */
if (!e->value.compcall.tbp->function)
{
- gfc_error ("%qs at %L should be a FUNCTION",
- e->value.compcall.name, &e->where);
+ if (e->symtree && e->symtree->n.sym->resolve_symbol_called)
+ gfc_error ("%qs at %L should be a FUNCTION", e->value.compcall.name,
+ &e->where);
return false;
}