PR fortran/95611 - ICE in access_attr_decl, at fortran/decl.c:9075
authorHarald Anlauf <anlauf@gmx.de>
Thu, 11 Jun 2020 19:03:48 +0000 (21:03 +0200)
committerHarald Anlauf <anlauf@gmx.de>
Thu, 11 Jun 2020 19:07:49 +0000 (21:07 +0200)
When reporting a duplicate access specification of an operator, refer to
the proper symbol.

2020-06-11  Harald Anlauf <anlauf@gmx.de>

gcc/fortran/
PR fortran/95611
* decl.c (access_attr_decl): Use correct symbol in error message.

Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
gcc/fortran/decl.c
gcc/testsuite/gfortran.dg/pr95611.f90 [new file with mode: 0644]

index 1c1626d3fa45670184bfbf3ad000e2bec0ae3e3f..c8a98537e87630a8dcbcd47601d87021eba535a5 100644 (file)
@@ -9073,7 +9073,7 @@ access_attr_decl (gfc_statement st)
          else
            {
              gfc_error ("Access specification of the .%s. operator at %C "
-                        "has already been specified", sym->name);
+                        "has already been specified", uop->name);
              goto done;
            }
 
diff --git a/gcc/testsuite/gfortran.dg/pr95611.f90 b/gcc/testsuite/gfortran.dg/pr95611.f90
new file mode 100644 (file)
index 0000000..b7a5451
--- /dev/null
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR fortran/95611 - ICE in access_attr_decl, at fortran/decl.c:9075
+
+module m
+  public operator (.a.)
+  public operator (.a.) ! { dg-error "has already been specified" }
+end