[Bug fortran/56261] [OOP] seg fault call procedure pointer on polymorphic array

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Feb 9 18:25:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56261

--- Comment #12 from janus at gcc dot gnu.org 2013-02-09 18:25:33 UTC ---
I just noticed that there is already related diagnostics in resolve.c
(resolve_global_procedure):

        /* F2003, 12.3.1.1 (2d); F2008, 12.4.2.2 (2e)   */
        else if (arg->sym->ts.type == BT_CLASS)
          {
        gfc_error ("Procedure '%s' at %L with polymorphic dummy "
               "argument '%s' must have an explicit interface",
               sym->name, &sym->declared_at, arg->sym->name);
        break;
          }

As a consequnce, whole_file_20.f03 now fails (due to a double error message).

Further, abstract_type_6.f03 fails, which is fixed by this:

Index: abstract_type_6.f03
===================================================================
--- abstract_type_6.f03 (revision 195915)
+++ abstract_type_6.f03 (working copy)
@@ -46,7 +46,7 @@

 SUBROUTINE bottom_c(obj)
    CLASS(Bottom) :: obj
-   CALL top_c(obj)
+   CALL top_c(obj)   ! { dg-error "requires an explicit interface" }
    ! other stuff
 END SUBROUTINE bottom_c 
 end module



More information about the Gcc-bugs mailing list