https://gcc.gnu.org/g:d2ff1b78d70731db1b7adc1cbac7e44688828370

commit r15-7460-gd2ff1b78d70731db1b7adc1cbac7e44688828370
Author: Thomas Koenig <tkoe...@gcc.gnu.org>
Date:   Mon Feb 10 21:25:37 2025 +0100

    This improves an error message, avoiding at ... at.
    
    gcc/fortran/ChangeLog:
    
            PR fortran/24878
            * interface.cc (compare_parameter): Better wording on
            error message.
    
    gcc/testsuite/ChangeLog:
    
            PR fortran/24878
            * gfortran.dg/interface_51.f90: Adjust expected error message.

Diff:
---
 gcc/fortran/interface.cc                   | 6 +++---
 gcc/testsuite/gfortran.dg/interface_51.f90 | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gcc/fortran/interface.cc b/gcc/fortran/interface.cc
index 49677f15f13c..fdde84db80d0 100644
--- a/gcc/fortran/interface.cc
+++ b/gcc/fortran/interface.cc
@@ -2521,9 +2521,9 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual,
                      gcc_assert (formal->attr.function);
                      if (!gfc_compare_types (&global_asym->ts, &formal->ts))
                        {
-                         gfc_error ("Type mismatch passing global function %qs 
"
-                                    "declared at %L at %L (%s/%s)",
-                                    actual_name, &gsym->where, &actual->where,
+                         gfc_error ("Type mismatch at %L passing global "
+                                    "function %qs declared at %L (%s/%s)",
+                                    &actual->where, actual_name, &gsym->where,
                                     gfc_typename (&global_asym->ts),
                                     gfc_dummy_typename (&formal->ts));
                          return false;
diff --git a/gcc/testsuite/gfortran.dg/interface_51.f90 
b/gcc/testsuite/gfortran.dg/interface_51.f90
index c8371e81ec90..7f7576d93c5e 100644
--- a/gcc/testsuite/gfortran.dg/interface_51.f90
+++ b/gcc/testsuite/gfortran.dg/interface_51.f90
@@ -14,7 +14,7 @@ program memain
   
   call foo(subr) ! { dg-error "Passing global subroutine" }
   call bar(i4)   ! { dg-error "Passing global function" }
-  call baz(r4)   ! { dg-error "Type mismatch passing global function" }
+  call baz(r4)   ! { dg-error "Type mismatch" }
 end program memain
 
 subroutine foo(ifun)
@@ -39,7 +39,7 @@ integer(kind=4) function i4() ! { dg-error "Passing global 
function" }
   i4 = 42
 end function i4
 
-real(kind=4) function r4() ! { dg-error "Type mismatch passing global 
function" }
+real(kind=4) function r4() ! { dg-error "Type mismatch" }
   r4 = 1.0
 end function r4

Reply via email to