1*a3c6a7d5SPeter Klausler! RUN: %python %S/test_errors.py %s %flang_fc1 2*a3c6a7d5SPeter Klauslermodule m1 3*a3c6a7d5SPeter Klausler type t1 4*a3c6a7d5SPeter Klausler contains 5*a3c6a7d5SPeter Klausler procedure :: tbp => s1 6*a3c6a7d5SPeter Klausler end type 7*a3c6a7d5SPeter Klausler type, extends(t1) :: t1e 8*a3c6a7d5SPeter Klausler contains 9*a3c6a7d5SPeter Klausler !ERROR: A type-bound procedure and its override must have compatible interfaces 10*a3c6a7d5SPeter Klausler procedure :: tbp => s1e 11*a3c6a7d5SPeter Klausler end type 12*a3c6a7d5SPeter Klausler contains 13*a3c6a7d5SPeter Klausler subroutine s1(x) 14*a3c6a7d5SPeter Klausler class(t1) :: x 15*a3c6a7d5SPeter Klausler end 16*a3c6a7d5SPeter Klausler subroutine s1e(x) 17*a3c6a7d5SPeter Klausler class(t1e), intent(in out) :: x 18*a3c6a7d5SPeter Klausler end 19*a3c6a7d5SPeter Klauslerend 20*a3c6a7d5SPeter Klausler 21*a3c6a7d5SPeter Klauslermodule m2 22*a3c6a7d5SPeter Klausler type t1 23*a3c6a7d5SPeter Klausler contains 24*a3c6a7d5SPeter Klausler procedure :: tbp => s1 25*a3c6a7d5SPeter Klausler end type 26*a3c6a7d5SPeter Klausler type, extends(t1) :: t1e 27*a3c6a7d5SPeter Klausler contains 28*a3c6a7d5SPeter Klausler !ERROR: A type-bound procedure and its override must have compatible interfaces 29*a3c6a7d5SPeter Klausler procedure :: tbp => s1e 30*a3c6a7d5SPeter Klausler end type 31*a3c6a7d5SPeter Klausler contains 32*a3c6a7d5SPeter Klausler subroutine s1(x) 33*a3c6a7d5SPeter Klausler class(t1), intent(in out) :: x 34*a3c6a7d5SPeter Klausler end 35*a3c6a7d5SPeter Klausler subroutine s1e(x) 36*a3c6a7d5SPeter Klausler class(t1e) :: x 37*a3c6a7d5SPeter Klausler end 38*a3c6a7d5SPeter Klauslerend 39*a3c6a7d5SPeter Klausler 40*a3c6a7d5SPeter Klauslermodule m3 41*a3c6a7d5SPeter Klausler type t1 42*a3c6a7d5SPeter Klausler contains 43*a3c6a7d5SPeter Klausler procedure, nopass :: tbp => s1 44*a3c6a7d5SPeter Klausler end type 45*a3c6a7d5SPeter Klausler type, extends(t1) :: t1e 46*a3c6a7d5SPeter Klausler contains 47*a3c6a7d5SPeter Klausler !ERROR: A NOPASS type-bound procedure and its override must have identical interfaces 48*a3c6a7d5SPeter Klausler procedure, nopass :: tbp => s1e 49*a3c6a7d5SPeter Klausler end type 50*a3c6a7d5SPeter Klausler contains 51*a3c6a7d5SPeter Klausler subroutine s1(x) 52*a3c6a7d5SPeter Klausler real, intent(in out) :: x 53*a3c6a7d5SPeter Klausler end 54*a3c6a7d5SPeter Klausler subroutine s1e(x) 55*a3c6a7d5SPeter Klausler real :: x 56*a3c6a7d5SPeter Klausler end 57*a3c6a7d5SPeter Klauslerend 58