1214518Srpaulo! { dg-do run } 2190214Srpaulo! PR47778 Reading array of structures from namelist 3190214Srpaulo! Test case derived from the reporters test case. 4190214Srpauloprogram test_nml 5190214Srpaulotype field_descr 6190214Srpaulo integer number 7190214Srpauloend type 8190214Srpaulotype fsetup 9190214Srpaulo type (field_descr), dimension(3) :: vel ! 3 velocity components 10190214Srpaulo type (field_descr), dimension(3) :: scal ! 3 scalars 11190214Srpauloend type 12190214Srpaulotype (fsetup) field_setup 13190214Srpaulonamelist /nl_setup/ field_setup 14190214Srpaulofield_setup%vel%number = 0 15190214Srpaulofield_setup%scal%number = 0 16190214Srpaulo! write(*,nml=nl_setup) 17190214Srpauloopen(10, status="scratch") 18190214Srpaulowrite(10,'(a)') "&nl_setup" 19190214Srpaulowrite(10,'(a)') " field_setup%vel(1)%number= 3," 20190214Srpaulowrite(10,'(a)') " field_setup%vel(2)%number= 9," 21190214Srpaulowrite(10,'(a)') " field_setup%vel(3)%number= 27," 22190214Srpaulowrite(10,'(a)') " field_setup%scal(1)%number= 2," 23190214Srpaulowrite(10,'(a)') " field_setup%scal(2)%number= 4," 24190214Srpaulowrite(10,'(a)') " field_setup%scal(3)%number= 8," 25190214Srpaulowrite(10,'(a)') "/" 26190214Srpaulorewind(10) 27190214Srpauloread(10,nml=nl_setup) 28190214Srpauloif (field_setup%vel(1)%number .ne. 3) call abort 29190214Srpauloif (field_setup%vel(2)%number .ne. 9) call abort 30190214Srpauloif (field_setup%vel(3)%number .ne. 27) call abort 31190214Srpauloif (field_setup%scal(1)%number .ne. 2) call abort 32190214Srpauloif (field_setup%scal(2)%number .ne. 4) call abort 33190214Srpauloif (field_setup%scal(3)%number .ne. 8) call abort 34190214Srpaulo!write(*,nml=nl_setup) 35190214Srpauloend program test_nml 36190214Srpaulo 37190214Srpaulo