Lines Matching defs:pointer

190 /* Resolve the interface for a PROCEDURE declaration or procedure pointer.  */
228 sym->attr.pointer = ifc->attr.pointer;
277 || sym->attr.pointer || sym->attr.allocatable
341 shape until we know if it has the pointer or allocatable attributes.
345 && !(sym->attr.pointer || sym->attr.allocatable))
358 || sym->attr.pointer || sym->attr.allocatable || sym->attr.target
388 else if (!sym->attr.pointer)
435 else if (!sym->attr.pointer)
477 if (sym->attr.pointer
775 || (el->sym->result->attr.pointer
776 != ns->entries->sym->result->attr.pointer))
810 if (sym->attr.pointer)
832 else if (sym->attr.pointer)
1183 else if (comp->attr.pointer && cons->expr->ts.type != BT_UNKNOWN)
1186 "for pointer component %qs, is %s but should be %s",
1263 && !(comp->attr.pointer || comp->attr.allocatable
1278 /* Check procedure pointer interface. */
1304 gfc_error ("Interface mismatch for procedure-pointer component "
1311 if (!comp->attr.pointer || comp->attr.proc_pointer
1317 if (!a.pointer && !a.target)
1321 "for pointer component %qs should be a POINTER or "
1327 /* F08:C461. Additional checks for pointer initialization. */
1350 "pointer component %qs at %L in PURE procedure",
1378 || a.optional || a.pointer || a.save || a.target || a.volatile_
1711 RHS for a procedure pointer assignment. */
1987 gfc_error ("ELEMENTAL procedure pointer component %qs is not "
1996 gfc_error ("Coindexed actual argument at %L with ultimate pointer "
2258 else if (arg->sym->attr.pointer)
2260 strncpy (errmsg, _("pointer argument"), err_len);
2326 else if (res->attr.pointer || res->attr.allocatable) /* (3b) */
2328 strncpy (errmsg, _("pointer or allocatable result"), err_len);
2884 SYM. If SYM is a procedure pointer, we can assume the worst. */
2908 /* If this is a procedure pointer component, it has already been resolved. */
3544 sprintf (msg, _("Invalid context for NULL() pointer at %%L"));
4679 if (ref->u.c.component->attr.pointer
4682 && CLASS_DATA (ref->u.c.component)->attr.pointer))
5461 /* Update the actual arglist of a procedure pointer component to include the
5496 gfc_error ("Base object for procedure-pointer component call at %L is of"
5719 procedure pointer component has to be referenced. */
5764 procedure pointer component has to be referenced. */
5818 procedure pointer component has to be referenced. */
5965 /* Convert the expression to a procedure pointer component call. */
6091 /* Convert the expression to a procedure pointer component call. */
6554 /* Given a pointer to a symbol that is a derived type, see if it's
6578 a pointer or a full array. */
6584 int allocatable, pointer;
6602 pointer = CLASS_DATA (sym)->attr.class_pointer;
6607 pointer = sym->attr.pointer;
6625 pointer = CLASS_DATA (c)->attr.class_pointer;
6630 pointer = c->attr.pointer;
6642 if (allocatable == 0 && attr.pointer == 0 && !unlimited)
6657 if (pointer
6686 /* Given the expression node e for an allocatable/pointer of derived type to be
6722 expression. This is used for allocate-expressions and pointer assignment
6811 int i, pointer, allocatable, dimension, is_abstract;
6836 /* Make sure the expression is allocatable or a pointer. If it is
6837 pointer, the next-to-last reference must be a pointer. */
6853 pointer = attr.pointer;
6862 pointer = CLASS_DATA (sym)->attr.class_pointer;
6870 pointer = sym->attr.pointer;
6895 pointer = 0;
6911 pointer = CLASS_DATA (c)->attr.class_pointer;
6919 pointer = c->attr.pointer;
6928 pointer = 0;
6935 if (allocatable == 0 && pointer == 0 && !unlimited)
7027 if (t && pointer)
8005 || gfc_expr_attr (target).pointer;
8419 -- a derived type being transferred has only non-pointer components
8491 "procedure pointer components", &code->loc);
9601 pointer assignments can be made. */
9727 || c->attr.pointer
9753 corresponding component of expr using pointer assignment (7.2.2) for
9754 each pointer component, de���ned assignment for each nonpointer
9759 The pointer assignments are taken care of by the intrinsic
9867 || comp1->attr.pointer
9948 the temporary is allocatable, pointer assign the address of
10004 // If we did a pointer assignment - thus, we need to ensure that the LHS is
10291 /* F03 7.4.1.3 for non-allocatable, non-pointer components. */
10319 /* This is both a variable definition and pointer assignment
10325 _("pointer assignment"));
10328 _("pointer assignment"));
10878 || sym->attr.pointer
11080 bool pointer, allocatable, dimension;
11084 pointer = CLASS_DATA (sym)->attr.class_pointer;
11090 pointer = sym->attr.pointer && !sym->attr.select_type_temporary;
11109 if (pointer && dimension && as->type != AS_ASSUMED_RANK)
11111 gfc_error ("Array pointer %qs at %L must have a deferred shape or "
11118 if (!mp_flag && !sym->attr.allocatable && !sym->attr.pointer
11149 "or pointer", sym->name, &sym->declared_at);
11199 && !sym->attr.pointer && !sym->attr.allocatable
11207 if (!(sym->value || sym->attr.pointer || sym->attr.allocatable)
11244 && !sym->attr.pointer
11257 && !(sym->attr.pointer
11262 "requires either the pointer or allocatable attribute",
11321 else if ((sym->attr.dimension || sym->attr.codimension) && !sym->attr.pointer
11498 && (sym->attr.allocatable || sym->attr.pointer))
11500 gfc_error ("Statement function %qs at %L may not have pointer or "
11506 char-len-param shall not be array-valued, pointer-valued, recursive
11515 if ((sym->as && sym->as->rank) || (sym->attr.pointer)
11522 if (sym->attr.pointer)
11524 "pointer-valued", sym->name, &sym->declared_at);
11553 gfc_error ("Procedure pointer %qs at %L shall not be elemental",
11641 gfc_error ("Procedure pointer result %qs at %L "
11642 "is missing the pointer attribute",
11682 && !c->attr.pointer && !c->attr.proc_pointer && !c->attr.allocatable)
11741 /* It must neither be a pointer nor allocatable nor optional. */
11742 if (arg->attr.pointer)
12529 || c->attr.pointer
12623 && (c->attr.codimension || c->attr.pointer || c->attr.dimension
12634 if (c->attr.contiguous && (!c->attr.dimension || !c->attr.pointer))
12637 "is not an array pointer", c->name, &c->loc);
12665 c->attr.pointer = ifc->result->attr.pointer;
12674 c->attr.pointer = ifc->attr.pointer;
12710 /* Procedure pointer components: Check PASS arg. */
12737 gfc_error ("Procedure pointer component %qs with PASS(%s) "
12752 gfc_error ("Procedure pointer component %qs with PASS at %L "
12788 if (me_arg->attr.pointer)
12864 && !c->attr.pointer && !c->attr.allocatable)
12929 && c->attr.pointer && c->ts.u.derived->components == NULL
12932 gfc_error ("The pointer component %qs of %qs at %L is a type "
12944 gfc_error ("The pointer component %qs of %qs at %L is a type "
12957 "or pointer", c->name, &c->loc);
12965 pointer components might not have been declared. */
12969 && c->attr.pointer
12974 !(c->attr.pointer || c->attr.proc_pointer
13381 sym->attr.pointer = sym->result->attr.pointer;
13400 class_attr.pointer = class_attr.class_pointer;
13412 && !class_attr.pointer)))
13415 "array pointer or an assumed-shape or assumed-rank array",
13531 || sym->attr.pointer || sym->attr.value)
13573 || sym->attr.pointer || sym->attr.value)
13791 && (class_attr.codimension || class_attr.pointer || class_attr.dimension
13905 check_constant = sym->attr.in_common && !sym->attr.pointer;
13970 if ((!a->save && !a->dummy && !a->pointer
13974 || (a->dummy && a->intent == INTENT_OUT && !a->pointer))
14061 has_pointer = sym->attr.pointer;
14072 if (ref->type == REF_COMPONENT && ref->u.c.component->attr.pointer)
14079 gfc_error ("DATA element %qs at %L is a pointer and so must "
14355 /* Resolve a single DATA statement. We implement this by storing a pointer to
14423 /* Test whether a symbol is pure or not. For a NULL pointer, checks if the
14454 /* Test whether a symbol is implicitly pure or not. For a NULL pointer,
14661 /* Shall not be an object of sequence derived type containing a pointer
14663 if (c->attr.pointer)
14665 gfc_error ("Derived type variable %qs at %L with pointer "
14676 An EQUIVALENCE object shall not be a dummy argument, a pointer, a target,
14678 sequence derived type containing a pointer at any level of component