/llvm-project/flang/test/Semantics/ |
H A D | argshape01.f90 | 48 procedure(s1) :: s 51 procedure(s2) :: s 54 procedure(s3) :: s 57 procedure(s4) :: s 60 procedure(s5) :: s 63 procedure(s6) :: s 66 procedure(s7) :: s 69 procedure(s8) :: s 72 procedure(s9) :: s 78 procedure(s1), pointer :: ps1 [all …]
|
H A D | intrinsics03.f90 | 2 ! Ensure that INDEX is a usable specific intrinsic procedure. 20 procedure(index) :: ix 24 procedure(index1) :: ix 28 procedure(index2) :: ix 32 procedure(index3) :: ix 36 procedure(index4) :: ix 40 procedure(index), pointer :: p0 41 procedure(index1), pointer :: p1 42 procedure(index2), pointer :: p2 43 procedure(index3), pointer :: p3 [all …]
|
H A D | resolve102.f90 | 4 !ERROR: Procedure 'sub' is recursively defined. Procedures in the cycle: 'sub', 'p2' 6 PROCEDURE(sub) :: p2 10 procedure(sub) :: p 12 !ERROR: Procedure 'sub' is recursively defined. Procedures in the cycle: 'p', 'sub', 'p2' 14 procedure(p) :: p2 18 !ERROR: Procedure 'foo' is recursively defined. Procedures in the cycle: 'foo', 'r' 20 !ERROR: Procedure 'r' is recursively defined. Procedures in the cycle: 'foo', 'r' 21 procedure(foo), pointer :: r 25 !ERROR: Procedure 'p' is recursively defined. Procedures in the cycle: 'p', 'sub', 'p2' 26 procedure(sub) :: p [all …]
|
H A D | bindings01.f90 | 18 procedure(s1), pass :: ab1 19 !ERROR: Type-bound procedure 'ab3' may not be both DEFERRED and NON_OVERRIDABLE 20 procedure(s1), deferred, non_overridable :: ab3 22 procedure, deferred, non_overridable :: ab4 => s1 26 procedure, non_overridable, nopass :: no1 => s1 33 procedure, nopass :: no1 => s1 37 procedure(s4), deferred :: am1 39 …-ABSTRACT extension of ABSTRACT derived type 'missing' lacks a binding for DEFERRED procedure 'am1' 44 procedure :: am1 => s7 67 !ERROR: Procedure bound to non-ABSTRACT derived type 'base' may not be DEFERRED [all …]
|
H A D | resolve53.f90 | 8 procedure s1 9 procedure s2 10 procedure s3 11 procedure s4 183 procedure s1 184 procedure s2 187 procedure s1 188 procedure s3 192 procedure(real), pointer :: x 195 procedure(intege [all...] |
H A D | resolve32.f90 | 29 …ing of 'a' ('missing') must be either an accessible module procedure or an external procedure with… 30 procedure, nopass :: a => missing 31 procedure, nopass :: b => s, s2 32 !ERROR: Type parameter, component, or procedure binding 'c' already defined in this type 33 procedure, nopass :: c 35 procedure, nopass, deferred :: d => s 38 …!ERROR: 's3' must be either an accessible module procedure or an external procedure with an explic… 39 procedure, nopass :: s3 40 procedure, nopass :: foo 41 …!ERROR: 'absfoo' must be either an accessible module procedure or an external procedure with an ex… [all …]
|
H A D | call09.f90 | 2 ! Test 15.5.2.9(2,3,5) dummy procedure requirements 5 ! dummy procedure pointer. 20 procedure(realfunc), pointer, intent(in) :: p 23 procedure(realfunc), pointer :: p 26 procedure(real), pointer :: p 29 procedure(realfunc) :: p 32 !ERROR: A dummy procedure without the POINTER attribute may not have an INTENT attribute 33 procedure(realfunc), intent(in) :: p 36 procedure(realfunc), pointer, intent(in out) :: p 40 !PORTABILITY: A dummy procedure should not have an ELEMENTAL intrinsic as its interface [all …]
|
H A D | resolve52.f90 | 9 ! C757 If the procedure pointer component has an implicit interface or has no 12 ! C758 If PASS (arg-name) appears, the interface of the procedure pointer 18 procedure(real), pointer, nopass :: a 19 !ERROR: Procedure component 'b' must have NOPASS attribute or explicit interface 20 procedure(real), pointer :: b 26 !ERROR: Procedure component 'a' with no dummy arguments must have NOPASS attribute 27 procedure(s1), pointer :: a 28 !ERROR: Procedure component 'b' with no dummy arguments must have NOPASS attribute 29 procedure(s1), pointer, pass :: b 31 !ERROR: Procedure binding 'p1' with no dummy arguments must have NOPASS attribute [all …]
|
H A D | associated.f90 | 59 procedure(intFunc), pointer :: procPtrFunc 73 procedure(intFunc) :: intProc 74 procedure(intFunc), pointer :: intprocPointer1 75 procedure(intFunc), pointer :: intprocPointer2 76 procedure(realFunc) :: realProc 77 procedure(realFunc), pointer :: realprocPointer1 78 procedure(pureFunc), pointer :: pureFuncPointer 79 procedure(elementalFunc) :: elementalProc 81 procedure(subrInt) :: subProc 82 procedure(subrInt), pointer :: subProcPointer [all …]
|
H A D | assign03.f90 | 5 procedure(),pointer,save :: p 15 procedure(s), pointer, nopass :: p 25 !BECAUSE: Procedure pointer 'p' may not be a coindexed object 32 !ERROR: In assignment to object pointer 'q', the target 's' is a procedure designator 43 procedure(s), pointer :: f 48 ! C1030 and 10.2.2.4 - procedure names as target of procedure pointer 50 procedure(s) :: s_dummy 51 procedure(s), pointer :: p, q 52 procedure(), pointe [all...] |
H A D | resolve36.f90 | 3 ! C1568 The procedure-name shall have been declared to be a separate module 4 ! procedure in the containing program unit or an ancestor of that program unit. 23 !ERROR: 'missing1' was not declared a separate module procedure 24 module procedure missing1 26 !ERROR: 'missing2' was not declared a separate module procedure 29 !ERROR: 't' was not declared a separate module procedure 30 module procedure t module 32 !ERROR: 'i' was not declared a separate module procedure 47 !ERROR: Declaration of 'i' conflicts with its use as module procedure 50 !ERROR: 'missing1' was not declared a separate module procedure [all …]
|
H A D | resolve114.f90 | 2 ! Allow the same external or intrinsic procedure to be use-associated 37 !PORTABILITY: Procedure pointer 'p1' should not have an ELEMENTAL intrinsic as its interface 38 procedure(sin), pointer :: p1 => sin 39 !PORTABILITY: Procedure pointer 'p2' should not have an ELEMENTAL intrinsic as its interface 40 procedure(iabs), pointer :: p2 => iabs 41 procedure(ext1), pointer :: p3 => ext1 42 procedure(ext2), pointer :: p4 => ext2 49 !PORTABILITY: Procedure pointer 'p1' should not have an ELEMENTAL intrinsic as its interface 50 procedure(iface1), pointer :: p1 => x1 51 !PORTABILITY: Procedure pointer 'p2' should not have an ELEMENTAL intrinsic as its interface [all …]
|
H A D | resolve20.f90 | 10 procedure() :: a 11 procedure(integer) :: b 12 procedure(foo) :: c 13 procedure(bar) :: d 14 !ERROR: 'missing' must be an abstract interface or a procedure with an explicit interface 15 procedure(missing) :: e 16 !ERROR: 'b' must be an abstract interface or a procedure with an explicit interface 17 procedure(b) :: f 18 procedure(c) :: g 20 !ERROR: 'h' must be an abstract interface or a procedure with an explicit interface [all …]
|
H A D | modfile07.f90 | 35 procedure :: s1 36 procedure :: s2 37 procedure :: s3 38 procedure :: s4 41 procedure :: s1 42 procedure :: s2 43 procedure :: s3 44 procedure :: s4 92 ! procedure::s1 93 ! procedure::s2 [all …]
|
H A D | call02.f90 | 2 ! 15.5.1 procedure reference constraints and restrictions 6 !ERROR: A dummy procedure may not be ELEMENTAL 11 !PORTABILITY: A dummy procedure should not have an ELEMENTAL intrinsic as its interface 12 procedure(sin) :: dummy 16 !ERROR: A dummy procedure may not be ELEMENTAL 17 procedure(elem) :: dummy 20 !PORTABILITY: A dummy procedure should not have an ELEMENTAL intrinsic as its interface 21 procedure(sin), optional :: dummy 24 !PORTABILITY: A dummy procedure should not have an ELEMENTAL intrinsic as its interface 25 procedure(si [all...] |
H A D | resolve46.f90 | 3 ! C1515 - interface definition for procedure pointers 13 !ERROR: 'haltandcatchfire' is not a known intrinsic procedure 23 !PORTABILITY: Procedure pointer 'p' should not have an ELEMENTAL intrinsic as its interface 24 procedure(sin), pointer :: p => cos 25 …OR: Intrinsic procedure 'amin0' is not an unrestricted specific intrinsic permitted for use as the… 26 procedure(amin0), pointer :: q 27 …: Intrinsic procedure 'bessel_j0' is not an unrestricted specific intrinsic permitted for use as t… 28 procedure(bessel_j0), pointer :: r 29 …!ERROR: Intrinsic procedure 'llt' is not an unrestricted specific intrinsic permitted for use as t… 30 procedure(chrcmp), pointer :: s => llt [all …]
|
H A D | bind-c16.f90 | 12 procedure(s1) :: p1a 13 procedure(s1), bind(c) :: p1b 14 procedure(s1), bind(c,name='P1c') :: p1c 15 procedure(s2) :: p2a 16 procedure(s2), bind(c) :: p2b 17 procedure(s2), bind(c,name='P2c') :: p2c 18 procedure(s3) :: p3a 19 procedure(s3), bind(c) :: p3b 20 procedure(s3), bind(c,name='P3c') :: p3c 48 procedure(s1) :: p1a [all …]
|
H A D | io11.f90 | 8 procedure, nopass :: tbp=>formattedReadProc !Error, NOPASS not allowed 9 !ERROR: Defined input/output procedure 'tbp' may not have NOPASS attribute 31 procedure, pass :: tbp=>formattedReadProc 32 …!ERROR: Defined input/output procedure 'formattedreadproc' must have 6 dummy arguments rather than… 53 procedure, pass :: tbp=>unformattedReadProc 54 …!ERROR: Defined input/output procedure 'unformattedreadproc' must have 4 dummy arguments rather th… 76 procedure, pass :: tbp=>formattedReadProc 85 !ERROR: A dummy procedure without the POINTER attribute may not have an INTENT attribute 86 procedure(real), intent(in) :: unit 101 …!ERROR: Passed-object dummy argument 'dtv' of procedure 'tbp' must be of type 't' but is 'INTEGER(… [all …]
|
H A D | local-vs-global.f90 | 49 !WARNING: The global entity 'module_before_1' corresponding to the local procedure 'module_before_1' is not a callable subprogram 51 !WARNING: The global entity 'block_data_before_1' corresponding to the local procedure 'block_data_before_1' is not a callable subprogram 59 !WARNING: The global entity 'module_after_1' corresponding to the local procedure 'module_after_1' is not a callable subprogram 61 !WARNING: The global entity 'block_data_after_1' corresponding to the local procedure 'block_data_after_1' is not a callable subprogram 70 !ERROR: 'module_before_2' is not a callable procedure 73 !ERROR: 'block_data_before_2' is not a callable procedure 76 !ERROR: References to the procedure 'explicit_before_2' require an explicit interface 79 !WARNING: If the procedure's interface were explicit, this reference would be in error 80 !BECAUSE: Dummy argument 'a=' (#1) is not OPTIONAL and is not associated with an actual argument in this procedure reference 82 !WARNING: If the procedure' [all...] |
H A D | resolve17.f90 | 14 …ould not be the name of both a generic interface and a procedure unless it is a specific procedure… 22 procedure s2 25 procedure s 36 procedure s_real 44 procedure s_int 60 procedure s_real 68 procedure s_int 84 procedure sa 92 procedure sb 106 procedure s1 [all …]
|
H A D | modfile08.f90 | 9 procedure() :: e 10 procedure(real) :: f 11 procedure(s) :: g 13 procedure(), pointer, nopass :: e 14 procedure(real), nopass, pointer :: f 15 procedure(s), private, pointer :: g 25 ! procedure(real(4))::a 26 ! procedure(logical(4))::b 27 ! procedure(complex(4))::c 28 ! procedure()::d [all …]
|
H A D | assign09.f90 | 2 ! Procedure pointer assignments and argument association with intrinsic functions 12 procedure(), pointer :: noInterfaceProcPtr 13 procedure(realToReal), pointer :: realToRealProcPtr 14 procedure(intToReal), pointer :: intToRealProcPtr 24 !ERROR: 'float' is not an unrestricted specific intrinsic procedure 26 !ERROR: 'float' is not an unrestricted specific intrinsic procedure 28 !ERROR: 'float' is not an unrestricted specific intrinsic procedure 30 !ERROR: 'float' is not an unrestricted specific intrinsic procedure 32 !ERROR: 'float' is not an unrestricted specific intrinsic procedure 37 …!ERROR: Procedure pointer 'inttorealprocptr' associated with incompatible procedure designator 'sq… [all …]
|
/llvm-project/flang/docs/ |
H A D | ProcedurePointer.md | 9 # Procedure Pointer 11 A procedure pointer is a procedure that has the EXTERNAL and POINTER attributes. 13 This document summarizes what of context the procedure pointers should appear, 17 to LLVM IR, and thus will not be lowering the procedure-pointer-related 23 for procedure pointers. 32 - A procedure pointer shall not be referenced unless it is pointer associated 33 with a target procedure. 37 - (4) A procedure pointer declared in the scoping unit of a main program, 44 - 10.2.2.4 Procedure pointer assignment 49 - 15.2.2.4 Procedure pointers [all …]
|
/llvm-project/flang/module/ |
H A D | mma.f90 | 368 procedure(func_vpi0vi##VKIND) :: VP_I0_VI(NAME, VKIND); 370 procedure(func_vpi0vu##VKIND) :: VP_I0_VU(NAME, VKIND); 372 procedure(func_vpi0vr##VKIND) :: VP_I0_VR(NAME, VKIND); 373 #define VEC_VP_I0_VP(NAME) procedure(func_vpi0vp) :: VP_I0_VP(NAME); 381 …procedure :: VP_I0_VI(vec_lxvp,1), VP_I0_VI(vec_lxvp,2), VP_I0_VI(vec_lxvp,4), VP_I0_VI(vec_lxvp,8) 382 …procedure :: VP_I0_VU(vec_lxvp,1), VP_I0_VU(vec_lxvp,2), VP_I0_VU(vec_lxvp,4), VP_I0_VU(vec_lxvp,8) 383 procedure :: VP_I0_VR(vec_lxvp,4), VP_I0_VR(vec_lxvp,8) 384 procedure :: VP_I0_VP(vec_lxvp) 405 procedure(sub_vpi0vi##VKIND) :: VP_I0_VI(NAME, VKIND); 407 procedure(sub_vpi0vu##VKIND) :: VP_I0_VU(NAME, VKIND); [all …]
|
H A D | __ppc_intrinsics.f90 | 636 procedure(func_r4r4r4r4) :: __ppc_fmadd_r4 637 procedure(func_r8r8r8r8) :: __ppc_fmadd_r8 639 procedure :: __ppc_fmadd_r4 640 procedure :: __ppc_fmadd_r8 644 procedure(func_r4r4r4r4) :: __ppc_fmsub_r4 645 procedure(func_r8r8r8r8) :: __ppc_fmsub_r8 647 procedure :: __ppc_fmsub_r4 648 procedure :: __ppc_fmsub_r8 652 procedure(func_r4r4r4r4) :: __ppc_fnmadd_r4 653 procedure(func_r8r8r8r8) :: __ppc_fnmadd_r8 [all …]
|