73 lines
2.5 KiB
Fortran
73 lines
2.5 KiB
Fortran
|
! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic -Werror
|
||
|
! Test warnings on mismatching interfaces involvingCHARACTER arguments
|
||
|
subroutine constLen(s)
|
||
|
character(len = 1) s
|
||
|
end
|
||
|
subroutine assumedLen(s)
|
||
|
character(len = *) s
|
||
|
end
|
||
|
subroutine exprLen(s)
|
||
|
common n
|
||
|
character(len = n) s
|
||
|
end
|
||
|
|
||
|
module m0
|
||
|
interface ! these are all OK
|
||
|
subroutine constLen(s)
|
||
|
character(len=1) s
|
||
|
end
|
||
|
subroutine assumedLen(s)
|
||
|
character(len=*) s
|
||
|
end
|
||
|
subroutine exprLen(s)
|
||
|
common n
|
||
|
character(len=n) s
|
||
|
end
|
||
|
end interface
|
||
|
end
|
||
|
|
||
|
module m1
|
||
|
interface
|
||
|
!WARNING: The global subprogram 'constlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: incompatible dummy data object types: CHARACTER(KIND=1,LEN=1_8) vs CHARACTER(KIND=1,LEN=2_8))
|
||
|
subroutine constLen(s)
|
||
|
character(len=2) s
|
||
|
end
|
||
|
!WARNING: The global subprogram 'assumedlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: assumed-length character vs explicit-length character)
|
||
|
subroutine assumedLen(s)
|
||
|
character(len=2) s
|
||
|
end
|
||
|
!WARNING: The global subprogram 'exprlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: constant-length vs non-constant-length character dummy arguments)
|
||
|
subroutine exprLen(s)
|
||
|
character(len=2) s
|
||
|
end
|
||
|
end interface
|
||
|
end
|
||
|
|
||
|
module m2
|
||
|
interface
|
||
|
!WARNING: The global subprogram 'constlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: assumed-length character vs explicit-length character)
|
||
|
subroutine constLen(s)
|
||
|
character(len=*) s
|
||
|
end
|
||
|
!WARNING: The global subprogram 'exprlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: assumed-length character vs explicit-length character)
|
||
|
subroutine exprLen(s)
|
||
|
character(len=*) s
|
||
|
end
|
||
|
end interface
|
||
|
end
|
||
|
|
||
|
module m3
|
||
|
interface
|
||
|
!WARNING: The global subprogram 'constlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: constant-length vs non-constant-length character dummy arguments)
|
||
|
subroutine constLen(s)
|
||
|
common n
|
||
|
character(len=n) s
|
||
|
end
|
||
|
!WARNING: The global subprogram 'assumedlen' is not compatible with its local procedure declaration (incompatible dummy argument #1: assumed-length character vs explicit-length character)
|
||
|
subroutine assumedLen(s)
|
||
|
common n
|
||
|
character(len=n) s
|
||
|
end
|
||
|
end interface
|
||
|
end
|