24 lines
964 B
Fortran
24 lines
964 B
Fortran
! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic
|
|
subroutine test(dp1, dp2)
|
|
intrinsic sin
|
|
interface
|
|
elemental real function elemental(x)
|
|
real, intent(in) :: x
|
|
end
|
|
pure real function nonelemental(x)
|
|
real, intent(in) :: x
|
|
end
|
|
end interface
|
|
!PORTABILITY: A dummy procedure should not have an ELEMENTAL intrinsic as its interface
|
|
procedure(sin) :: dp1
|
|
!ERROR: A dummy procedure may not be ELEMENTAL
|
|
procedure(elemental) :: dp2
|
|
!PORTABILITY: Procedure pointer 'pp1' should not have an ELEMENTAL intrinsic as its interface
|
|
procedure(sin), pointer :: pp1
|
|
!ERROR: Procedure pointer 'pp2' may not be ELEMENTAL
|
|
procedure(elemental), pointer :: pp2
|
|
procedure(elemental) :: pp3 ! ok, external
|
|
procedure(nonelemental), pointer :: pp4 => sin ! ok, special case
|
|
!ERROR: Procedure pointer 'pp5' cannot be initialized with the elemental procedure 'elemental'
|
|
procedure(nonelemental), pointer :: pp5 => elemental
|
|
end
|