Peter Klausler 191d48723f
[flang] Finer control over warnings
Establish a set of optional usage warnings, and enable some
only in "-pedantic" mode that, in our subjective experience
with application codes, seem to issue frequently without
indicating usage that really needs to be corrected.  By default,
with this patch the compiler should appear to be somewhat less
persnickety but not less informative.

Differential Revision: https://reviews.llvm.org/D150710
2023-05-16 13:56:24 -07:00

32 lines
1.2 KiB
Fortran

! RUN: %flang -fsyntax-only -pedantic 2>&1 %s | FileCheck %s
! Verifies that warnings issue when actual arguments with implicit
! interfaces are associated with dummy procedures and dummy procedure
! pointers whose interfaces are explicit.
module m
contains
real function realfunc(x)
real, intent(in) :: x
realfunc = x
end function
subroutine s00(p0)
procedure(realfunc) :: p0
end subroutine
subroutine s01(p1)
procedure(realfunc), pointer, intent(in) :: p1
end subroutine
subroutine s02(p2)
procedure(realfunc), pointer :: p2
end subroutine
subroutine test
external :: extfunc
external :: extfuncPtr
pointer :: extfuncPtr
!CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p0=' which has an explicit interface
call s00(extfunc)
!CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p1=' which has an explicit interface
call s01(extfunc)
!CHECK: Actual procedure argument has an implicit interface which is not known to be compatible with dummy argument 'p2=' which has an explicit interface
call s02(extfuncPtr)
end subroutine
end module