1! { dg-do run }
2module foo_nml
3   implicit none
4   real :: x = -1
5   namelist /foo/ x
6end module
7!
8! Yes, implicit typing of local variable 'x'.
9!
10program main
11   use foo_nml, only: bar => foo
12   integer fd
13   x = 42
14   open(newunit=fd, file='tmp.dat', status='replace')
15   write(fd,nml=bar)
16   close(fd)
17   open(newunit=fd, file='tmp.dat', status='old')
18   read(fd,nml=bar)
19   close(fd)
20   call bah
21   if (x /= 42) stop 1
22end program
23
24subroutine bah
25   use foo_nml
26   integer fd
27   open(newunit=fd, file='tmp.dat', status='old')
28   read(fd,nml=foo)
29   if (x /= -1) stop 2
30   close(fd, status='delete')
31end subroutine bah
32