[Bug fortran/78300] Failure to compile a Fortran-2003 code with an optional dummy procedure argument.

sgk at troutmask dot apl.washington.edu gcc-bugzilla@gcc.gnu.org
Thu Nov 10 21:27:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78300

--- Comment #6 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Thu, Nov 10, 2016 at 09:06:15PM +0000, dominiq at lps dot ens.fr wrote:
>
> Confirmed from 4.8 up to trunk (7.0). It would be nice to have a reduced
> reproducer.
> 

I certainly agree with!  It took a bit to get this.

module gfc_base

   implicit none

   integer, parameter:: INTD=4
   integer, parameter:: INTL=8
   integer(INTD), parameter :: GFC_TRUE=1, GFC_FALSE=0

   type gfc_cont_elem_t
      class(*), pointer, private:: value_p=>NULL()
      integer(INTD), private:: alloc=GFC_FALSE
      contains
         procedure, public:: construct=>ContElemConstruct
   end type gfc_cont_elem_t

   abstract interface
      function gfc_copy_i(obj,ierr) result(clone)
         import:: INTD
         class(*), pointer:: clone
         class(*), intent(in):: obj
         integer(INTD), intent(out), optional:: ierr
      end function gfc_copy_i
   end interface

   private ContElemConstruct

   contains

      subroutine ContElemConstruct(this,obj,ierr,assoc_only,copy_constr_func)
         class(gfc_cont_elem_t), intent(inout):: this
         class(*), target, intent(in):: obj
         integer(INTD), intent(out), optional:: ierr
         logical, intent(in), optional:: assoc_only
         procedure(gfc_copy_i), optional:: copy_constr_func
      end subroutine ContElemConstruct

 end module gfc_base


More information about the Gcc-bugs mailing list