1! { dg-do compile }
2! PR 18990
3! we used to ICE on these examples
4module core
5  type, public  :: T
6     character(len=I)  :: str ! { dg-error "needs to be a constant specification expression" }
7  end type T
8  private
9CONTAINS
10  subroutine FOO(X)
11    type(T), intent(in)          :: X
12  end subroutine
13end module core
14
15module another_core
16  type :: T
17     character(len=*)  :: s ! { dg-error "needs to be a constant specification expr" }
18  end type T
19  private
20CONTAINS
21  subroutine FOO(X)
22    type(T), intent(in)          :: X
23  end subroutine
24end module another_core
25