| ! RUN: %python %S/test_errors.py %s %flang_fc1 |
| subroutine s1 |
| !OK: interface followed by type with same name |
| interface t |
| end interface |
| type t |
| end type |
| type(t) :: x |
| x = t() |
| end subroutine |
| |
| subroutine s2 |
| !OK: type followed by interface with same name |
| type t |
| end type |
| interface t |
| end interface |
| type(t) :: x |
| x = t() |
| end subroutine |
| |
| subroutine s3 |
| type t |
| end type |
| interface t |
| end interface |
| !ERROR: 't' is already declared in this scoping unit |
| type t |
| end type |
| type(t) :: x |
| x = t() |
| end subroutine |
| |
| module m4 |
| type t1 |
| class(t2), pointer :: p => null() |
| end type |
| type t2 |
| end type |
| interface t2 |
| procedure ctor |
| end interface |
| contains |
| function ctor() |
| type(t2) ctor |
| end function |
| end module |