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