xref: /llvm-project/flang/test/Semantics/namelist01.f90 (revision 31ab2c4f616d686c06e9b573c8f1a4ae7ad2d8c3)
1! RUN: %python %S/test_errors.py %s %flang_fc1
2! Test for checking namelist constraints, C8103-C8105
3
4module dup
5  integer dupName
6  integer uniqueName
7end module dup
8
9subroutine C8103a(x)
10  use dup, only: uniqueName, dupName
11  integer :: x
12  !ERROR: 'dupname' is already declared in this scoping unit
13  namelist /dupName/ x, x
14  namelist /nl/ uniquename ! ok
15end subroutine C8103a
16
17subroutine C8103b(y)
18  use dup, only: uniqueName
19  integer :: y
20  namelist /dupName/ y, y
21end subroutine C8103b
22
23subroutine C8104a(ivar, jvar)
24  integer :: ivar(10,8)
25  integer :: jvar(*)
26  NAMELIST /NLIST/ ivar
27  !ERROR: A namelist group object 'jvar' must not be assumed-size
28  NAMELIST /NLIST/ jvar
29end subroutine C8104a
30
31subroutine C8104b(ivar, jvar)
32  integer, dimension(*) :: jvar
33  !ERROR: A namelist group object 'jvar' must not be assumed-size
34  NAMELIST /NLIST/ ivar, jvar
35end subroutine C8104b
36
37subroutine C8104c(jvar)
38  integer :: jvar(10, 3:*)
39  !ERROR: A namelist group object 'jvar' must not be assumed-size
40  NAMELIST /NLIST/ jvar
41end subroutine C8104c
42
43module C8105
44  integer, private :: x
45  public :: NLIST
46  !ERROR: A PRIVATE namelist group object 'x' must not be in a PUBLIC namelist
47  NAMELIST /NLIST/ x
48  !ERROR: A PRIVATE namelist group object 'x' must not be in a PUBLIC namelist
49  NAMELIST /NLIST2/ x
50  public :: NLIST2
51end module C8105
52