2021-04-12 20:27:49 +08:00
|
|
|
! RUN: %S/test_errors.sh %s %t %flang_fc1
|
2019-02-06 06:43:00 +08:00
|
|
|
subroutine s1
|
|
|
|
namelist /nl/x
|
|
|
|
block
|
|
|
|
!ERROR: NAMELIST statement is not allowed in a BLOCK construct
|
|
|
|
namelist /nl/y
|
|
|
|
end block
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s2
|
|
|
|
open(12, file='nl.out')
|
|
|
|
!ERROR: Namelist group 'nl' not found
|
|
|
|
write(12, nml=nl)
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s3
|
|
|
|
real :: x
|
|
|
|
open(12, file='nl.out')
|
|
|
|
!ERROR: 'x' is not the name of a namelist group
|
|
|
|
write(12, nml=x)
|
|
|
|
end
|
|
|
|
|
|
|
|
module m4
|
|
|
|
real :: x
|
|
|
|
namelist /nl/x
|
|
|
|
end
|
|
|
|
subroutine s4a
|
|
|
|
use m4
|
|
|
|
namelist /nl2/x
|
|
|
|
open(12, file='nl.out')
|
|
|
|
write(12, nml=nl)
|
|
|
|
write(12, nml=nl2)
|
|
|
|
end
|
|
|
|
subroutine s4b
|
|
|
|
use m4
|
|
|
|
real :: y
|
|
|
|
!ERROR: 'nl' is already declared in this scoping unit
|
|
|
|
namelist /nl/y
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s5
|
|
|
|
namelist /nl/x
|
|
|
|
!ERROR: The type of 'x' has already been implicitly declared
|
|
|
|
integer x
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s6
|
|
|
|
!ERROR: 's6' is not a variable
|
|
|
|
namelist /nl/ s6
|
|
|
|
!ERROR: 'f' is not a variable
|
|
|
|
namelist /nl/ f
|
|
|
|
contains
|
|
|
|
integer function f()
|
|
|
|
f = 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s7
|
|
|
|
real x
|
|
|
|
namelist /nl/ x
|
|
|
|
!ERROR: EXTERNAL attribute not allowed on 'x'
|
|
|
|
external x
|
|
|
|
end
|
2019-02-07 09:18:02 +08:00
|
|
|
|
|
|
|
subroutine s8
|
|
|
|
data x/1.0/
|
|
|
|
!ERROR: The type of 'x' has already been implicitly declared
|
|
|
|
integer x
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s9
|
2020-06-19 08:17:04 +08:00
|
|
|
real :: x(2,2)
|
2019-02-07 09:18:02 +08:00
|
|
|
!ERROR: 'i' is already declared in this scoping unit
|
|
|
|
data ((x(i,i),i=1,2),i=1,2)/4*0.0/
|
|
|
|
end
|
2020-02-25 10:55:53 +08:00
|
|
|
|
|
|
|
module m10
|
|
|
|
integer :: x
|
|
|
|
public :: nl
|
|
|
|
namelist /nl/ x
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine s11
|
|
|
|
integer :: nl2
|
|
|
|
!ERROR: 'nl2' is already declared in this scoping unit
|
|
|
|
namelist /nl2/x
|
|
|
|
namelist /nl3/x
|
|
|
|
!ERROR: 'nl3' is already declared in this scoping unit
|
|
|
|
integer :: nl3
|
|
|
|
nl2 = 1
|
|
|
|
end
|