60 lines
2.4 KiB
Fortran
60 lines
2.4 KiB
Fortran
|
! RUN: %python %S/test_errors.py %s %flang_fc1
|
||
|
! Test error message priorities for DATA problems
|
||
|
module m
|
||
|
integer useAlloc
|
||
|
allocatable useAlloc
|
||
|
integer, pointer :: usePtr(:)
|
||
|
contains
|
||
|
subroutine useProc
|
||
|
end
|
||
|
end
|
||
|
function f(hostDummy, hostProc) result(hostResult)
|
||
|
integer hostDummy, hostResult
|
||
|
external hostProc
|
||
|
integer hostAuto(hostDummy)
|
||
|
integer, allocatable :: hostAlloc
|
||
|
integer :: hostInit = 1
|
||
|
integer, pointer :: hostPtr(:)
|
||
|
contains
|
||
|
subroutine test(innerDummy, innerProc)
|
||
|
use m
|
||
|
external innerProc
|
||
|
integer innerAuto(innerDummy)
|
||
|
integer, allocatable :: innerAlloc
|
||
|
integer :: innerInit = 1
|
||
|
integer, pointer :: innerPtr(:)
|
||
|
!ERROR: Procedure 'useproc' must not be initialized in a DATA statement
|
||
|
data useProc/0/
|
||
|
!ERROR: Procedure 'hostproc' must not be initialized in a DATA statement
|
||
|
data hostProc/0/
|
||
|
!ERROR: Procedure 'innerproc' must not be initialized in a DATA statement
|
||
|
data innerProc/0/
|
||
|
!ERROR: Host-associated object 'hostdummy' must not be initialized in a DATA statement
|
||
|
data hostDummy/1/
|
||
|
!ERROR: Host-associated object 'hostresult' must not be initialized in a DATA statement
|
||
|
data hostResult/1/
|
||
|
!ERROR: Host-associated object 'hostauto' must not be initialized in a DATA statement
|
||
|
data hostAuto/1/
|
||
|
!ERROR: Host-associated object 'hostalloc' must not be initialized in a DATA statement
|
||
|
data hostAlloc/1/
|
||
|
!ERROR: Host-associated object 'hostinit' must not be initialized in a DATA statement
|
||
|
data hostInit/1/
|
||
|
!ERROR: Host-associated object 'hostptr' must not be initialized in a DATA statement
|
||
|
data hostPtr(1)/1/
|
||
|
!ERROR: USE-associated object 'usealloc' must not be initialized in a DATA statement
|
||
|
data useAlloc/1/
|
||
|
!ERROR: USE-associated object 'useptr' must not be initialized in a DATA statement
|
||
|
data usePtr(1)/1/
|
||
|
!ERROR: Dummy argument 'innerdummy' must not be initialized in a DATA statement
|
||
|
data innerDummy/1/
|
||
|
!ERROR: Automatic variable 'innerauto' must not be initialized in a DATA statement
|
||
|
data innerAuto/1/
|
||
|
!ERROR: Allocatable 'inneralloc' must not be initialized in a DATA statement
|
||
|
data innerAlloc/1/
|
||
|
!ERROR: Default-initialized 'innerinit' must not be initialized in a DATA statement
|
||
|
data innerInit/1/
|
||
|
!ERROR: Target of pointer 'innerptr' must not be initialized in a DATA statement
|
||
|
data innerptr(1)/1/
|
||
|
end
|
||
|
end
|