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

Reply via email to