diff options
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index b8d54e7..85c0cea 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -1504,14 +1504,14 @@ simplify_const_ref (gfc_expr *p) else string_len = 0; - if (!p->ts.cl) + if (!p->ts.u.cl) { - p->ts.cl = gfc_get_charlen (); - p->ts.cl->next = NULL; - p->ts.cl->length = NULL; + p->ts.u.cl = gfc_get_charlen (); + p->ts.u.cl->next = NULL; + p->ts.u.cl->length = NULL; } - gfc_free_expr (p->ts.cl->length); - p->ts.cl->length = gfc_int_expr (string_len); + gfc_free_expr (p->ts.u.cl->length); + p->ts.u.cl->length = gfc_int_expr (string_len); } } gfc_free_ref_list (p->ref); @@ -1681,8 +1681,8 @@ gfc_simplify_expr (gfc_expr *p, int type) gfc_free (p->value.character.string); p->value.character.string = s; p->value.character.length = end - start; - p->ts.cl = gfc_new_charlen (gfc_current_ns); - p->ts.cl->length = gfc_int_expr (p->value.character.length); + p->ts.u.cl = gfc_new_charlen (gfc_current_ns); + p->ts.u.cl->length = gfc_int_expr (p->value.character.length); gfc_free_ref_list (p->ref); p->ref = NULL; p->expr_type = EXPR_CONSTANT; @@ -2102,7 +2102,7 @@ check_inquiry (gfc_expr *e, int not_restricted) with LEN, as required by the standard. */ if (i == 5 && not_restricted && ap->expr->symtree->n.sym->ts.type == BT_CHARACTER - && ap->expr->symtree->n.sym->ts.cl->length == NULL) + && ap->expr->symtree->n.sym->ts.u.cl->length == NULL) { gfc_error ("Assumed character length variable '%s' in constant " "expression at %L", e->symtree->n.sym->name, &e->where); @@ -3337,7 +3337,7 @@ gfc_default_initializer (gfc_typespec *ts) gfc_component *c; /* See if we have a default initializer. */ - for (c = ts->derived->components; c; c = c->next) + for (c = ts->u.derived->components; c; c = c->next) if (c->initializer || c->attr.allocatable) break; @@ -3348,10 +3348,10 @@ gfc_default_initializer (gfc_typespec *ts) init = gfc_get_expr (); init->expr_type = EXPR_STRUCTURE; init->ts = *ts; - init->where = ts->derived->declared_at; + init->where = ts->u.derived->declared_at; tail = NULL; - for (c = ts->derived->components; c; c = c->next) + for (c = ts->u.derived->components; c; c = c->next) { if (tail == NULL) init->value.constructor = tail = gfc_get_constructor (); @@ -3421,10 +3421,10 @@ gfc_traverse_expr (gfc_expr *expr, gfc_symbol *sym, return true; if (expr->ts.type == BT_CHARACTER - && expr->ts.cl - && expr->ts.cl->length - && expr->ts.cl->length->expr_type != EXPR_CONSTANT - && gfc_traverse_expr (expr->ts.cl->length, sym, func, f)) + && expr->ts.u.cl + && expr->ts.u.cl->length + && expr->ts.u.cl->length->expr_type != EXPR_CONSTANT + && gfc_traverse_expr (expr->ts.u.cl->length, sym, func, f)) return true; switch (expr->expr_type) @@ -3502,11 +3502,11 @@ gfc_traverse_expr (gfc_expr *expr, gfc_symbol *sym, case REF_COMPONENT: if (ref->u.c.component->ts.type == BT_CHARACTER - && ref->u.c.component->ts.cl - && ref->u.c.component->ts.cl->length - && ref->u.c.component->ts.cl->length->expr_type + && ref->u.c.component->ts.u.cl + && ref->u.c.component->ts.u.cl->length + && ref->u.c.component->ts.u.cl->length->expr_type != EXPR_CONSTANT - && gfc_traverse_expr (ref->u.c.component->ts.cl->length, + && gfc_traverse_expr (ref->u.c.component->ts.u.cl->length, sym, func, f)) return true; |