1! { dg-do compile }
2! Tests fix for PR29115, in which an ICE would be produced by
3! non-pointer elements being supplied to the pointer components
4! in a derived type constructor.
5!
6! Contributed by Paul Thomas  <pault@gcc.gnu.org>
7!
8  type :: homer
9    integer, pointer :: bart(:)
10  end type homer
11  type(homer) :: marge
12  integer :: duff_beer
13  marge = homer (duff_beer) ! { dg-error "should be a POINTER or a TARGET" }
14end
15
16!
17! The following yield an ICE, see PR 34083
18!
19subroutine foo
20  type ByteType
21    character(len=1) :: singleByte
22  end type
23  type (ByteType) :: bytes(4)
24
25  print *, size(bytes)
26  bytes = ByteType((/'H', 'i', '!', ' '/)) ! { dg-error "rank of the element in the structure constructor" }
27end subroutine foo
28