Lines Matching refs:source

301 int CFI_section(CFI_cdesc_t *result, const CFI_cdesc_t *source,  in CFI_section()  argument
308 if (!result || !source) { in CFI_section()
311 if (source->rank == 0) { in CFI_section()
314 if (IsAssumedSize(source) && !upper_bounds) { in CFI_section()
317 if ((result->type != source->type) || in CFI_section()
318 (result->elem_len != source->elem_len)) { in CFI_section()
324 if (!source->base_addr) { in CFI_section()
328 char *shiftedBaseAddr{static_cast<char *>(source->base_addr)}; in CFI_section()
330 for (int j{0}; j < source->rank; ++j) { in CFI_section()
331 const CFI_dim_t &dim{source->dim[j]}; in CFI_section()
360 result->base_addr = isZeroSized ? source->base_addr : shiftedBaseAddr; in CFI_section()
362 for (int j{0}; j < source->rank; ++j) { in CFI_section()
367 : source->dim[j].lower_bound; in CFI_section()
368 result->dim[resRank].sm = actualStride[j] * source->dim[j].sm; in CFI_section()
375 int CFI_select_part(CFI_cdesc_t *result, const CFI_cdesc_t *source, in CFI_select_part() argument
377 if (!result || !source) { in CFI_select_part()
380 if (result->rank != source->rank) { in CFI_select_part()
386 if (!source->base_addr) { in CFI_select_part()
389 if (IsAssumedSize(source)) { in CFI_select_part()
396 if (displacement + elem_len > source->elem_len) { in CFI_select_part()
400 result->base_addr = displacement + static_cast<char *>(source->base_addr); in CFI_select_part()
402 for (int j{0}; j < source->rank; ++j) { in CFI_select_part()
404 result->dim[j].extent = source->dim[j].extent; in CFI_select_part()
405 result->dim[j].sm = source->dim[j].sm; in CFI_select_part()
410 int CFI_setpointer(CFI_cdesc_t *result, const CFI_cdesc_t *source, in CFI_setpointer() argument
418 if (!source) { in CFI_setpointer()
422 if (source->rank != result->rank) { in CFI_setpointer()
425 if (source->type != result->type) { in CFI_setpointer()
428 if (source->elem_len != result->elem_len) { in CFI_setpointer()
431 if (!source->base_addr && source->attribute != CFI_attribute_pointer) { in CFI_setpointer()
434 if (IsAssumedSize(source)) { in CFI_setpointer()
439 result->base_addr = source->base_addr; in CFI_setpointer()
440 if (source->base_addr) { in CFI_setpointer()
442 CFI_index_t extent{source->dim[j].extent}; in CFI_setpointer()
444 result->dim[j].sm = source->dim[j].sm; in CFI_setpointer()
446 : copySrcLB ? source->dim[j].lower_bound in CFI_setpointer()