! { dg-do compile }

! PR fortran/41177
! Test for additional errors with type-bound procedure bindings.
! Namely that non-scalar base objects are rejected for TBP calls which are
! NOPASS, and that passed-object dummy arguments must be scalar, non-POINTER
! and non-ALLOCATABLE.

MODULE m
  IMPLICIT NONE

  TYPE t
  CONTAINS
    PROCEDURE, NOPASS :: myproc
  END TYPE t

  TYPE t2
  CONTAINS
    PROCEDURE, PASS :: nonscalar ! { dg-error "must be scalar" }
    PROCEDURE, PASS :: is_pointer ! { dg-error "must not be POINTER" }
    PROCEDURE, PASS :: is_allocatable ! { dg-error "must not be ALLOCATABLE" }
  END TYPE t2

CONTAINS

  SUBROUTINE myproc ()
  END SUBROUTINE myproc

  SUBROUTINE nonscalar (me)
    CLASS(t2), INTENT(IN) :: me(:)
  END SUBROUTINE nonscalar

  SUBROUTINE is_pointer (me)
    CLASS(t2), POINTER, INTENT(IN) :: me
  END SUBROUTINE is_pointer

  SUBROUTINE is_allocatable (me)
    CLASS(t2), ALLOCATABLE, INTENT(IN) :: me
  END SUBROUTINE is_allocatable

  SUBROUTINE test ()
    TYPE(t) :: arr(2)
    CALL arr%myproc () ! { dg-error "must be scalar" }
  END SUBROUTINE test

END MODULE m
