Lines Matching defs:ar

599 	      gfc_free_expr (p->u.ar.start[i]);
600 gfc_free_expr (p->u.ar.end[i]);
601 gfc_free_expr (p->u.ar.stride[i]);
749 gfc_array_ref *ar;
761 ar = gfc_copy_array_ref (&src->u.ar);
762 dest->u.ar = *ar;
763 free (ar);
796 for (i = 0; i < ref->u.ar.dimen; i++)
797 if (ref->u.ar.dimen_type[i] == DIMEN_VECTOR)
1155 && ref->u.ar.type != AR_ELEMENT)
1349 find_array_element (gfc_constructor_base base, gfc_array_ref *ar,
1369 for (i = 0; i < ar->dimen; i++)
1371 if (!gfc_reduce_init_expr (ar->as->lower[i])
1372 || !gfc_reduce_init_expr (ar->as->upper[i])
1373 || ar->as->upper[i]->expr_type != EXPR_CONSTANT
1374 || ar->as->lower[i]->expr_type != EXPR_CONSTANT)
1381 e = ar->start[i];
1389 if ((ar->as->upper[i]
1391 ar->as->upper[i]->value.integer) > 0)
1393 ar->as->lower[i]->value.integer) < 0))
1396 "at %L", i + 1, &ar->c_where[i]);
1402 mpz_sub (delta, e->value.integer, ar->as->lower[i]->value.integer);
1407 mpz_add (tmp, tmp, ar->as->upper[i]->value.integer);
1408 mpz_sub (tmp, tmp, ar->as->lower[i]->value.integer);
1520 rank = ref->u.ar.as->rank;
1546 begin = ref->u.ar.start[d];
1547 finish = ref->u.ar.end[d];
1548 step = ref->u.ar.stride[d];
1549 lower = ref->u.ar.as->lower[d];
1550 upper = ref->u.ar.as->upper[d];
1562 if (ref->u.ar.dimen_type[d] == DIMEN_VECTOR) /* Vector subscript. */
1594 "at %L", d + 1, &ref->u.ar.c_where[d]);
1635 if (ref->u.ar.dimen_type[d] == DIMEN_ELEMENT)
1645 "at %L", d + 1, &ref->u.ar.c_where[d]);
1659 if (ref->u.ar.dimen_type[d] != DIMEN_ELEMENT)
1685 mpz_sub (tmp_mpz, tmp_mpz, ref->u.ar.as->lower[d]->value.integer);
1691 if (ref->u.ar.dimen_type[d] == DIMEN_VECTOR) /* Vector subscript. */
1696 vecsub[d] = gfc_constructor_first (ref->u.ar.start[d]->value.constructor);
1913 switch (p->ref->u.ar.type)
1923 if (!find_array_element (p->value.constructor, &p->ref->u.ar, &cons))
1935 p->ref->u.ar.type = AR_FULL;
2049 for (n = 0; n < ref->u.ar.dimen; n++)
2051 if (!gfc_simplify_expr (ref->u.ar.start[n], type))
2053 if (!gfc_simplify_expr (ref->u.ar.end[n], type))
2055 if (!gfc_simplify_expr (ref->u.ar.stride[n], type))
2321 && p->ref->u.ar.type == AR_FULL)
3347 for (dim = 0; dim != ref->u.ar.dimen; ++dim)
3349 if (!checker (ref->u.ar.start[dim]))
3351 if (!checker (ref->u.ar.end[dim]))
3353 if (!checker (ref->u.ar.stride[dim]))
3913 if (ref->u.ar.type == AR_FULL)
3916 if (ref->u.ar.type != AR_SECTION)
3948 for (dim = 0; dim < ref->u.ar.dimen; ++dim)
3950 if (ref->u.ar.stride[dim])
3956 if (!same_rank && (!ref->u.ar.start[dim] ||!ref->u.ar.end[dim]))
3963 if (!ref->u.ar.start[dim]
3964 || ref->u.ar.dimen_type[dim] != DIMEN_RANGE)
3973 rank_remap = (ref->u.ar.end[dim] != NULL);
3976 if ((rank_remap && !ref->u.ar.end[dim]))
3983 if (!rank_remap && ref->u.ar.end[dim])
4010 if (ref->type == REF_ARRAY && ref->u.ar.codimen)
4383 for (int n = 0; n < ref->u.ar.dimen; n++)
4384 if (!gfc_is_constant_expr (ref->u.ar.start[n])
4385 || !gfc_is_constant_expr (ref->u.ar.end[n])
4386 || !gfc_is_constant_expr (ref->u.ar.stride[n]))
4390 &ref->u.ar.where);
4458 if (ref->type == REF_ARRAY && ref->u.ar.codimen)
5204 e->ref->u.ar.type = AR_FULL;
5205 e->ref->u.ar.as = gfc_copy_array_spec (var->n.sym->ts.type == BT_CLASS
5234 ref->u.ar.type = AR_FULL;
5235 ref->u.ar.dimen = e->rank;
5236 ref->u.ar.where = e->where;
5237 ref->u.ar.as = as;
5295 switch (ref->u.ar.type)
5325 gfc_array_ref ar;
5401 ar = ref->u.ar;
5404 if (gfc_traverse_expr (ar.start[i], sym, func, f))
5406 if (gfc_traverse_expr (ar.end[i], sym, func, f))
5408 if (gfc_traverse_expr (ar.stride[i], sym, func, f))
5678 gcc_assert (ref->type == REF_ARRAY && ref->u.ar.codimen > 0);
5680 for (n = ref->u.ar.dimen; n < ref->u.ar.dimen + ref->u.ar.codimen; n++)
5681 if (ref->u.ar.dimen_type[n] != DIMEN_THIS_IMAGE)
5693 if (ref->type == REF_ARRAY && ref->u.ar.codimen > 0)
5694 return ref->u.ar.team;
5699 if (ref->type == REF_ARRAY && ref->u.ar.codimen > 0)
5700 return ref->u.ar.team;
5711 if (ref->type == REF_ARRAY && ref->u.ar.codimen > 0)
5712 return ref->u.ar.stat;
5717 if (ref->type == REF_ARRAY && ref->u.ar.codimen > 0)
5718 return ref->u.ar.stat;
5729 if (ref->type == REF_ARRAY && ref->u.ar.codimen > 0)
5785 if (ref->u.ar.codimen > 0 && !gfc_ref_this_image (ref))
5791 for (i = 0; i < ref->u.ar.dimen; i++)
5792 if (ref->u.ar.dimen_type[i] == DIMEN_VECTOR)
5826 corank = ref->u.ar.as->corank;
5904 gfc_array_ref *ar = NULL;
5942 if (ar)
5949 else if (ref->u.ar.type != AR_ELEMENT)
5950 ar = &ref->u.ar;
5965 if (!ar || ar->type == AR_FULL)
5968 gcc_assert (ar->type == AR_SECTION);
5972 for (i = 0; i < ar->dimen; i++)
5974 if (ar->dimen_type[i] == DIMEN_VECTOR)
5977 if (ar->dimen_type[i] == DIMEN_ELEMENT)
5983 gcc_assert (ar->dimen_type[i] == DIMEN_RANGE);
5989 if (!colon && (strict || !ar->start[i] || !ar->end[i]
5990 || ar->start[i]->expr_type != EXPR_CONSTANT
5991 || ar->end[i]->expr_type != EXPR_CONSTANT
5992 || mpz_cmp (ar->start[i]->value.integer,
5993 ar->end[i]->value.integer) != 0))
5999 if (ar->stride[i] && (strict || ar->stride[i]->expr_type != EXPR_CONSTANT
6000 || ar->stride[i]->ts.type != BT_INTEGER
6001 || mpz_cmp_si (ar->stride[i]->value.integer, 1) != 0))
6004 if (ar->start[i]
6005 && (strict || ar->start[i]->expr_type != EXPR_CONSTANT
6006 || !ar->as->lower[i]
6007 || ar->as->lower[i]->expr_type != EXPR_CONSTANT
6008 || mpz_cmp (ar->start[i]->value.integer,
6009 ar->as->lower[i]->value.integer) != 0))
6012 if (ar->end[i]
6013 && (strict || ar->end[i]->expr_type != EXPR_CONSTANT
6014 || !ar->as->upper[i]
6015 || ar->as->upper[i]->expr_type != EXPR_CONSTANT
6016 || mpz_cmp (ar->end[i]->value.integer,
6017 ar->as->upper[i]->value.integer) != 0))
6033 gfc_array_ref *ar = NULL;
6041 if (ar)
6045 ar = &ref->u.ar;
6048 if (ar == NULL || ar->type != AR_SECTION)
6055 for (i = 0; i < ar->dimen; i++)
6059 if (gfc_ref_dimen_size (ar, i, &ref_size, NULL))
6061 if (gfc_dep_difference (ar->as->lower[i], ar->as->upper[i], &arr_size))
6081 if (mpz_cmp_ui (ref_size, 1) > 0 && ar->type == AR_SECTION
6082 && ar->dimen_type[i] == DIMEN_RANGE
6083 && ar->stride[i] && ar->stride[i]->expr_type == EXPR_CONSTANT
6084 && mpz_cmp_si (ar->stride[i]->value.integer, 1) != 0)
6429 if (ref->type == REF_ARRAY && ref->u.ar.type == AR_SECTION)
6431 && ref->u.ar.dimen_type[i] != 0; i++)
6432 if (ref->u.ar.dimen_type[i] == DIMEN_VECTOR)
6434 gfc_expr *arr = ref->u.ar.start[i];