diff options
Diffstat (limited to 'gcc/fortran/trans-expr.cc')
-rw-r--r-- | gcc/fortran/trans-expr.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc index 101efc3..6138921 100644 --- a/gcc/fortran/trans-expr.cc +++ b/gcc/fortran/trans-expr.cc @@ -10234,7 +10234,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) gfc_conv_descriptor_data_set (&block, desc, data); /* Copy the span. */ - if (TREE_CODE (rse.expr) == VAR_DECL + if (VAR_P (rse.expr) && GFC_DECL_PTR_ARRAY_P (rse.expr)) span = gfc_conv_descriptor_span_get (rse.expr); else @@ -10921,7 +10921,7 @@ gfc_trans_arrayfunc_assign (gfc_expr * expr1, gfc_expr * expr2) { tmp = sym->backend_decl; lhs = sym->backend_decl; - if (TREE_CODE (tmp) == INDIRECT_REF) + if (INDIRECT_REF_P (tmp)) tmp = TREE_OPERAND (tmp, 0); sym->backend_decl = gfc_create_var (TREE_TYPE (tmp), "lhs"); gfc_add_modify (&se.pre, sym->backend_decl, tmp); @@ -11871,7 +11871,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1, gfc_expr * expr2, bool init_flag, if (expr2->ts.type == BT_CHARACTER && !expr1->ts.deferred && !(VAR_P (rse.string_length) || TREE_CODE (rse.string_length) == PARM_DECL - || TREE_CODE (rse.string_length) == INDIRECT_REF)) + || INDIRECT_REF_P (rse.string_length))) string_length = gfc_evaluate_now (rse.string_length, &rse.pre); else if (expr2->ts.type == BT_CHARACTER) { |