mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:56:42 +00:00

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
27 lines
613 B
Fortran
27 lines
613 B
Fortran
! RUN: %python %S/test_errors.py %s %flang_fc1 -Werror -pedantic
|
|
! Confirm a portability warning on use of a procedure binding apart from a call
|
|
module m
|
|
type t
|
|
contains
|
|
procedure :: sub
|
|
end type
|
|
contains
|
|
subroutine sub(x)
|
|
class(t), intent(in) :: x
|
|
end subroutine
|
|
end module
|
|
|
|
program test
|
|
use m
|
|
procedure(sub), pointer :: p
|
|
type(t) x
|
|
!PORTABILITY: Procedure binding 'sub' used as target of a pointer assignment
|
|
p => x%sub
|
|
!PORTABILITY: Procedure binding 'sub' passed as an actual argument
|
|
call sub2(x%sub)
|
|
contains
|
|
subroutine sub2(s)
|
|
procedure(sub) s
|
|
end subroutine
|
|
end
|