1!{ dg-do run { target fd_truncate } }
2! PR26136 Filling logical variables from namelist read when object list is not
3! complete.  Test case derived from PR.
4! Contributed by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
5program read_logical
6   implicit none
7   logical, dimension(4) :: truely
8   integer, dimension(4) :: truely_a_very_long_variable_name
9   namelist /mynml/ truely
10   namelist /mynml/ truely_a_very_long_variable_name
11
12   truely = .false.
13   truely_a_very_long_variable_name = 0
14
15   open(10, status="scratch")
16   write(10,*) "&mynml"
17   write(10,*) "truely       = trouble,    traffic .true"
18   write(10,*) "truely_a_very_long_variable_name  = 4,      4,      4"
19   write(10,*) "/"
20   rewind(10)
21   read (10, nml=mynml, err = 1000)
22   if (.not.all(truely(1:3))) call abort()
23   if (.not.all(truely_a_very_long_variable_name(1:3).eq.4)) call abort()
24
25   truely = .false.
26   truely_a_very_long_variable_name = 0
27
28   rewind(10)
29   write(10,*) "&mynml"
30   write(10,*) "truely       = .true., .true.,"
31   write(10,*) "truely_a_very_long_variable_name  = 4,      4,      4"
32   write(10,*) "/"
33   rewind(10)
34   read (10, nml=mynml, err = 1000)
35   if (.not.all(truely(1:2))) call abort()
36   if (.not.all(truely_a_very_long_variable_name(1:3).eq.4)) call abort()
37
38   truely = .true.
39   truely_a_very_long_variable_name = 0
40
41   rewind(10)
42   write(10,*) "&mynml"
43   write(10,*) "truely       = .false., .false.,"
44   write(10,*) "truely_a_very_long_variable_name  = 4,      4,      4"
45   write(10,*) "/"
46   rewind(10)
47   read (10, nml=mynml, err = 1000)
48   if (all(truely(1:2))) call abort()
49   if (.not.all(truely_a_very_long_variable_name(1:3).eq.4)) call abort()
50   close(10)
51   stop
521000 call abort()
53end program read_logical
54