Lines Matching full:pointer
2 ! Pointer assignment constraints 10.2.2.2 (see also assign02.f90)
5 procedure(),pointer,save :: p
15 procedure(s), pointer, nopass :: p
16 real, pointer :: q
24 !ERROR: The left-hand side of a pointer assignment is not definable
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
38 a%p => f() ! OK: pointer-valued function
39 !ERROR: Subroutine pointer 'p' may not be associated with function designator 'f'
43 procedure(s), pointer :: f
48 ! C1030 and 10.2.2.4 - procedure names as target of procedure pointer
51 procedure(s), pointer :: p, q
52 procedure(), pointer :: r
71 procedure(f_impure1), pointer :: p_impure
72 procedure(f_pure1), pointer :: p_pure
73 !ERROR: Procedure pointer 'p_elemental' may not be ELEMENTAL
74 procedure(f_elemental1), pointer :: p_elemental
75 procedure(s_impure1), pointer :: sp_impure
76 procedure(s_pure1), pointer :: sp_pure
77 !ERROR: Procedure pointer 'sp_elemental' may not be ELEMENTAL
78 procedure(s_elemental1), pointer :: sp_elemental
81 p_impure => f_pure1 ! OK, target may be pure when pointer is not
82 !ERROR: Procedure pointer 'p_impure' associated with incompatible procedure designator 'f_elemental1': incompatible procedure attributes: Elemental
84 !ERROR: Procedure pointer 'p_impure' associated with incompatible procedure designator 'f_impureelemental1': incompatible procedure attributes: Elemental
88 sp_impure => s_pure1 ! OK, target may be pure when pointer is not
89 !ERROR: Procedure pointer 'sp_impure' associated with incompatible procedure designator 's_elemental1': incompatible procedure attributes: Elemental
92 !ERROR: PURE procedure pointer 'p_pure' may not be associated with non-PURE procedure designator 'f_impure1'
95 !ERROR: Procedure pointer 'p_pure' associated with incompatible procedure designator 'f_elemental1': incompatible procedure attributes: Elemental
97 !ERROR: PURE procedure pointer 'p_pure' may not be associated with non-PURE procedure designator 'f_impureelemental1'
100 !ERROR: PURE procedure pointer 'sp_pure' may not be associated with non-PURE procedure designator 's_impure1'
103 !ERROR: Procedure pointer 'sp_pure' associated with incompatible procedure designator 's_elemental1': incompatible procedure attributes: Elemental
104 sp_pure => s_elemental1 ! OK, target may be elemental when pointer is not
106 !ERROR: Procedure pointer 'p_impure' associated with incompatible procedure designator 'f_impure2': incompatible dummy argument #1: incompatible dummy data object intents
108 !ERROR: Function pointer 'p_pure' associated with incompatible function designator 'f_pure2': function results have distinct types: INTEGER(4) vs REAL(4)
110 !ERROR: Function pointer 'p_pure' associated with incompatible function designator 'ccos': function results have distinct types: INTEGER(4) vs COMPLEX(4)
112 !ERROR: Procedure pointer 'p_impure' associated with incompatible procedure designator 'f_elemental2': incompatible procedure attributes: Elemental
115 !ERROR: Procedure pointer 'sp_impure' associated with incompatible procedure designator 's_impure2': incompatible procedure attributes: BindC
117 !ERROR: Procedure pointer 'sp_impure' associated with incompatible procedure designator 's_pure2': incompatible dummy argument #1: incompatible dummy data object intents
119 !ERROR: Procedure pointer 'sp_pure' associated with incompatible procedure designator 's_elemental2': incompatible procedure attributes: Elemental
122 !ERROR: Function pointer 'p_impure' may not be associated with subroutine designator 's_impure1'
125 !ERROR: Subroutine pointer 'sp_impure' may not be associated with function designator 'f_impure1'
188 procedure(s), pointer :: p, q
189 procedure(), pointer :: r
191 p => s_external ! OK for a pointer with an explicit interface to be associated with a procedure with an implicit interface
192 r => s_module ! OK for a pointer with implicit interface to be associated with a procedure with an explicit interface. See 10.2.2.4 (3)
199 procedure(), pointer :: p_s
200 procedure(real), pointer :: p_f
212 real, pointer :: p(:, :)
214 !ERROR: Pointer 'p' has rank 2 but the number of bounds specified is 1
221 real, pointer :: p(:, :)
223 !ERROR: Pointer 'p' has rank 2 but the number of bounds specified is 1
226 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
229 !ERROR: Pointer bounds require 25 elements but target has only 20
237 real, pointer :: f(:)
243 integer, pointer :: p(:)
257 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
259 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
261 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
263 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
264 !ERROR: An array section with a vector subscript may not be a pointer target
270 complex, pointer :: p(:)
271 real, pointer :: q(:)
274 !ERROR: Pointer bounds remapping target must have rank 1 or be simply contiguous
278 ! Check is_contiguous, which is usually the same as when pointer bounds
281 integer, pointer :: p(:)
282 integer, pointer, contiguous :: pc(:)
319 procedure(), pointer :: ptr
326 procedure(real), pointer :: ptr
328 !ERROR: Statement function 'sf' may not be the target of a pointer assignment