Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / bindings04.f90
blob02902719a2901cf4bca4f27767f13e38e682f443
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 module m1
3 type t1
4 contains
5 procedure :: tbp => s1
6 end type
7 type, extends(t1) :: t1e
8 contains
9 !ERROR: A type-bound procedure and its override must have compatible interfaces
10 procedure :: tbp => s1e
11 end type
12 contains
13 subroutine s1(x)
14 class(t1) :: x
15 end
16 subroutine s1e(x)
17 class(t1e), intent(in out) :: x
18 end
19 end
21 module m2
22 type t1
23 contains
24 procedure :: tbp => s1
25 end type
26 type, extends(t1) :: t1e
27 contains
28 !ERROR: A type-bound procedure and its override must have compatible interfaces
29 procedure :: tbp => s1e
30 end type
31 contains
32 subroutine s1(x)
33 class(t1), intent(in out) :: x
34 end
35 subroutine s1e(x)
36 class(t1e) :: x
37 end
38 end
40 module m3
41 type t1
42 contains
43 procedure, nopass :: tbp => s1
44 end type
45 type, extends(t1) :: t1e
46 contains
47 !ERROR: A NOPASS type-bound procedure and its override must have identical interfaces
48 procedure, nopass :: tbp => s1e
49 end type
50 contains
51 subroutine s1(x)
52 real, intent(in out) :: x
53 end
54 subroutine s1e(x)
55 real :: x
56 end
57 end