1! { dg-do compile } 2! 3! PR fortran/43362 4! 5module m 6 implicit none 7 type t 8 integer, pointer :: a 9 end type t 10 type t2 11 type(t) :: b 12 end type t2 13 type t3 14 type(t), pointer :: b 15 end type t3 16contains 17 pure subroutine foo(x) 18 type(t), target, intent(in) :: x 19 type(t2) :: y 20 type(t3) :: z 21 22 ! The following gave an ICE but is valid: 23 y = t2(x) ! Note: F2003, C1272 (3) and (4) do not apply 24 25 ! Variant which is invalid as C1272 (3) applies 26 z = t3(x) ! { dg-error "Invalid expression in the structure constructor" } 27 end subroutine foo 28end module m 29