1! { dg-do run }
2! PR47778 Reading array of structures from namelist
3! Test case derived from the reporters test case.
4program test_nml
5type field_descr
6  integer number
7end type
8type fsetup
9  type (field_descr), dimension(3) :: vel ! 3 velocity components
10  type (field_descr), dimension(3) :: scal ! 3 scalars
11end type
12type (fsetup) field_setup
13namelist /nl_setup/ field_setup
14field_setup%vel%number = 0
15field_setup%scal%number = 0
16! write(*,nml=nl_setup)
17open(10, status="scratch")
18write(10,'(a)') "&nl_setup"
19write(10,'(a)') " field_setup%vel(1)%number=  3,"
20write(10,'(a)') " field_setup%vel(2)%number=  9,"
21write(10,'(a)') " field_setup%vel(3)%number=  27,"
22write(10,'(a)') " field_setup%scal(1)%number=  2,"
23write(10,'(a)') " field_setup%scal(2)%number=  4,"
24write(10,'(a)') " field_setup%scal(3)%number=  8,"
25write(10,'(a)') "/"
26rewind(10)
27read(10,nml=nl_setup)
28if (field_setup%vel(1)%number .ne. 3) call abort
29if (field_setup%vel(2)%number .ne. 9) call abort
30if (field_setup%vel(3)%number .ne. 27) call abort
31if (field_setup%scal(1)%number .ne. 2) call abort
32if (field_setup%scal(2)%number .ne. 4) call abort
33if (field_setup%scal(3)%number .ne. 8) call abort
34!write(*,nml=nl_setup)
35end program test_nml
36
37