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