proc_decl_1.f90
来自「用于进行gcc测试」· F90 代码 · 共 78 行
F90
78 行
! { dg-do compile }! This tests various error messages for PROCEDURE declarations.! Contributed by Janus Weil <jaydub66@gmail.com>module m abstract interface subroutine sub() end subroutine subroutine sub2() bind(c) end subroutine end interface procedure(), public, private :: a ! { dg-error "was already specified" } procedure(sub),bind(C) :: a2 ! { dg-error "requires an interface with BIND.C." } procedure(sub2), public, bind(c, name="myEF") :: e, f ! { dg-error "Multiple identifiers provided with single NAME= specifier" } procedure(sub2), bind(C, name=""), pointer :: g ! { dg-error "may not have POINTER attribute" } public:: h procedure(),public:: h ! { dg-error "was already specified" }end module mprogram prog interface z subroutine z1() end subroutine subroutine z2(a) integer :: a end subroutine end interface procedure(z) :: bar ! { dg-error "may not be generic" } procedure(), allocatable:: b ! { dg-error "PROCEDURE attribute conflicts with ALLOCATABLE attribute" } procedure(), save:: c ! { dg-error "PROCEDURE attribute conflicts with SAVE attribute" } procedure(dcos) :: my1 procedure(amax0) :: my2 ! { dg-error "not allowed in PROCEDURE statement" } procedure(),pointer:: ptr ! { dg-error "not yet implemented" } type t procedure(),pointer:: p ! { dg-error "not yet implemented" } end type real f, x f(x) = sin(x**2) external oo procedure(f) :: q ! { dg-error "may not be a statement function" } procedure(oo) :: p ! { dg-error "must be explicit" }contains subroutine foo(a,c) abstract interface subroutine b() bind(C) end subroutine b end interface procedure(b), bind(c,name="hjj") :: a ! { dg-error "may not have BIND.C. attribute with NAME" } procedure(c),intent(in):: c ! { dg-error "PROCEDURE attribute conflicts with INTENT attribute" } end subroutine foo end programsubroutine abc procedure() :: abc2entry abc2(x) ! { dg-error "PROCEDURE attribute conflicts with ENTRY attribute" } real xend subroutine
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?