Lines Matching refs:ts

83   switch (e->ts.type)  in gfc_element_size()
86 *siz = size_integer (e->ts.kind); in gfc_element_size()
89 *siz = size_float (e->ts.kind); in gfc_element_size()
92 *siz = size_complex (e->ts.kind); in gfc_element_size()
95 *siz = size_logical (e->ts.kind); in gfc_element_size()
99 *siz = size_character (e->value.character.length, e->ts.kind); in gfc_element_size()
100 else if (e->ts.u.cl != NULL && e->ts.u.cl->length != NULL in gfc_element_size()
101 && e->ts.u.cl->length->expr_type == EXPR_CONSTANT in gfc_element_size()
102 && e->ts.u.cl->length->ts.type == BT_INTEGER) in gfc_element_size()
106 gfc_extract_hwi (e->ts.u.cl->length, &length); in gfc_element_size()
107 *siz = size_character (length, e->ts.kind); in gfc_element_size()
127 gfc_typespec ts; in gfc_element_size() local
129 ts = e->ts; in gfc_element_size()
130 type = gfc_typenode_for_spec (&ts); in gfc_element_size()
262 type = gfc_typenode_for_spec (&source->ts); in encode_derived()
265 cmp = source->ts.u.derived->components; in encode_derived()
316 switch (source->ts.type) in gfc_target_encode_expr()
319 return encode_integer (source->ts.kind, source->value.integer, buffer, in gfc_target_encode_expr()
322 return encode_float (source->ts.kind, source->value.real, buffer, in gfc_target_encode_expr()
325 return encode_complex (source->ts.kind, source->value.complex, in gfc_target_encode_expr()
328 return encode_logical (source->ts.kind, source->value.logical, buffer, in gfc_target_encode_expr()
332 return gfc_encode_character (source->ts.kind, in gfc_target_encode_expr()
343 return gfc_encode_character (source->ts.kind, MAX(end - start + 1, 0), in gfc_target_encode_expr()
349 if (source->ts.u.derived->ts.f90_type == BT_VOID) in gfc_target_encode_expr()
355 && c->expr->ts.type == BT_INTEGER); in gfc_target_encode_expr()
384 gfc_expr *e = gfc_get_constant_expr (result->ts.type, result->ts.kind, in interpret_array()
386 e->ts = result->ts; in interpret_array()
388 if (e->ts.type == BT_CHARACTER) in interpret_array()
456 if (result->ts.u.cl && result->ts.u.cl->length) in gfc_interpret_character()
458 gfc_mpz_get_hwi (result->ts.u.cl->length->value.integer); in gfc_interpret_character()
461 result->ts.kind)); in gfc_interpret_character()
465 if (result->ts.kind == gfc_default_character_kind) in gfc_interpret_character()
471 size_t bytes = size_character (1, result->ts.kind); in gfc_interpret_character()
478 native_interpret_expr (gfc_get_char_type (result->ts.kind), in gfc_interpret_character()
489 return size_character (result->value.character.length, result->ts.kind); in gfc_interpret_character()
503 cmp = result->ts.u.derived->components; in gfc_interpret_derived()
505 if (result->ts.u.derived->from_intmod == INTMOD_ISO_C_BINDING in gfc_interpret_derived()
506 && (result->ts.u.derived->intmod_sym_id == ISOCBINDING_PTR in gfc_interpret_derived()
507 || result->ts.u.derived->intmod_sym_id == ISOCBINDING_FUNPTR)) in gfc_interpret_derived()
513 result->ts.type = BT_DERIVED; in gfc_interpret_derived()
514 e = gfc_get_constant_expr (cmp->ts.type, cmp->ts.kind, &result->where); in gfc_interpret_derived()
518 e->ts.is_iso_c = 1; in gfc_interpret_derived()
522 type = gfc_typenode_for_spec (&result->ts); in gfc_interpret_derived()
528 gfc_expr *e = gfc_get_constant_expr (cmp->ts.type, cmp->ts.kind, in gfc_interpret_derived()
530 e->ts = cmp->ts; in gfc_interpret_derived()
570 gcc_assert (e->ts.type != BT_VOID || cmp->attr.caf_token); in gfc_interpret_derived()
586 switch (result->ts.type) in gfc_target_interpret_expr()
590 gfc_interpret_integer (result->ts.kind, buffer, buffer_size, in gfc_target_interpret_expr()
596 gfc_interpret_float (result->ts.kind, buffer, buffer_size, in gfc_target_interpret_expr()
602 gfc_interpret_complex (result->ts.kind, buffer, buffer_size, in gfc_target_interpret_expr()
608 gfc_interpret_logical (result->ts.kind, buffer, buffer_size, in gfc_target_interpret_expr()
618 result->ts = CLASS_DATA (result)->ts; in gfc_target_interpret_expr()
629 gfc_interpret_integer (result->ts.kind, buffer, buffer_size, in gfc_target_interpret_expr()
638 if (result->ts.type == BT_CHARACTER && convert_widechar) in gfc_target_interpret_expr()
680 if (e->ts.type == BT_DERIVED) in expr_to_char()
683 cmp = e->ts.u.derived->components; in expr_to_char()
727 gfc_merge_initializers (gfc_typespec ts, gfc_expr *e, locus *loc, in gfc_merge_initializers() argument
752 len = len + gfc_merge_initializers (ts, c->expr, loc, &data[len], in gfc_merge_initializers()
769 gfc_convert_boz (gfc_expr *expr, gfc_typespec *ts) in gfc_convert_boz() argument
775 if (expr->ts.type != BT_INTEGER) in gfc_convert_boz()
779 gcc_assert (ts->type == BT_REAL); in gfc_convert_boz()
781 buffer_size = size_float (ts->kind); in gfc_convert_boz()
793 expr->ts.kind = gfc_integer_kinds[index].kind; in gfc_convert_boz()
794 buffer_size = MAX (buffer_size, size_integer (expr->ts.kind)); in gfc_convert_boz()
797 encode_integer (expr->ts.kind, expr->value.integer, buffer, buffer_size); in gfc_convert_boz()
801 gfc_interpret_float (ts->kind, buffer, buffer_size, expr->value.real); in gfc_convert_boz()
803 expr->ts.type = ts->type; in gfc_convert_boz()
804 expr->ts.kind = ts->kind; in gfc_convert_boz()