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

            Bug ID: 121398
           Summary: gfortran rejects procedure binding on PDT
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at archaeologic dot codes
  Target Milestone: ---

% cat all.f90       
module tensor_m
  implicit none

  type tensor_t(k)
    integer, kind :: k
  contains
    procedure double_precision_num_components
  end type

  interface

    integer module function default_real_num_components(self)
      implicit none
      class(tensor_t(kind(0.))) self
    end function

    integer module function double_precision_num_components(self)
      implicit none
      class(tensor_t(kind(0D0))) self
    end function

  end interface

end module 

% gfortran -c all.f90
all.f90:7:13:

    7 |     procedure double_precision_num_components
      |             1
Error: Argument 'self' of 'double_precision_num_components' with PASS(self) at
(1) must be of the derived-type 'Pdttensor_t_4'

% gfortran --version
GNU Fortran (Homebrew GCC 15.1.0) 15.1.0

Reply via email to