| ! { dg-do compile } |
| ! PR 18990 |
| ! we used to ICE on these examples |
| module core |
| type, public :: T |
| character(len=I) :: str ! { dg-error "needs to be a constant specification expression" } |
| end type T |
| private |
| CONTAINS |
| subroutine FOO(X) |
| type(T), intent(in) :: X |
| end subroutine |
| end module core |
| |
| module another_core |
| type :: T |
| character(len=*) :: s ! { dg-error "needs to be a constant specification expr" } |
| end type T |
| private |
| CONTAINS |
| subroutine FOO(X) |
| type(T), intent(in) :: X |
| end subroutine |
| end module another_core |
| |
| ! { dg-final { cleanup-modules "core another_core" } } |