diff options
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r-- | gcc/fortran/trans-io.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index 3d04332..2c3c8b6 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -360,7 +360,7 @@ set_parameter_value (stmtblock_t * block, tree var, gfc_expr * e) gfc_conv_expr_type (&se, e, TREE_TYPE (var)); gfc_add_block_to_block (block, &se.pre); - tmp = build (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); + tmp = build3 (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); gfc_add_modify_expr (block, tmp, se.expr); } @@ -380,7 +380,7 @@ set_parameter_ref (stmtblock_t * block, tree var, gfc_expr * e) gfc_conv_expr_type (&se, e, TREE_TYPE (var)); gfc_add_block_to_block (block, &se.pre); - tmp = build (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); + tmp = build3 (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); gfc_add_modify_expr (block, tmp, se.expr); } @@ -401,9 +401,9 @@ set_string (stmtblock_t * block, stmtblock_t * postblock, tree var, gfc_init_se (&se, NULL); gfc_conv_expr (&se, e); - io = build (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); - len = build (COMPONENT_REF, TREE_TYPE (var_len), ioparm_var, var_len, - NULL_TREE); + io = build3 (COMPONENT_REF, TREE_TYPE (var), ioparm_var, var, NULL_TREE); + len = build3 (COMPONENT_REF, TREE_TYPE (var_len), ioparm_var, var_len, + NULL_TREE); /* Integer variable assigned a format label. */ if (e->ts.type == BT_INTEGER && e->symtree->n.sym->attr.assign == 1) @@ -411,8 +411,8 @@ set_string (stmtblock_t * block, stmtblock_t * postblock, tree var, msg = gfc_build_string_const (37, "Assigned label is not a format label"); tmp = GFC_DECL_STRING_LEN (se.expr); - tmp = build (LE_EXPR, boolean_type_node, - tmp, convert (TREE_TYPE (tmp), integer_minus_one_node)); + tmp = build2 (LE_EXPR, boolean_type_node, + tmp, convert (TREE_TYPE (tmp), integer_minus_one_node)); gfc_trans_runtime_check (tmp, msg, &se.pre); gfc_add_modify_expr (&se.pre, io, GFC_DECL_ASSIGN_ADDR (se.expr)); gfc_add_modify_expr (&se.pre, len, GFC_DECL_STRING_LEN (se.expr)); @@ -436,7 +436,7 @@ set_flag (stmtblock_t *block, tree var) { tree tmp, type = TREE_TYPE (var); - tmp = build (COMPONENT_REF, type, ioparm_var, var, NULL_TREE); + tmp = build3 (COMPONENT_REF, type, ioparm_var, var, NULL_TREE); gfc_add_modify_expr (block, tmp, convert (type, integer_one_node)); } @@ -458,7 +458,7 @@ add_case (int label_value, gfc_st_label * label, stmtblock_t * body) DECL_CONTEXT (tmp) = current_function_decl; /* And the case itself. */ - tmp = build_v (CASE_LABEL_EXPR, value, NULL_TREE, tmp); + tmp = build3_v (CASE_LABEL_EXPR, value, NULL_TREE, tmp); gfc_add_expr_to_block (body, tmp); /* Jump to the label. */ @@ -498,10 +498,10 @@ io_result (stmtblock_t * block, gfc_st_label * err_label, tmp = gfc_finish_block (&body); - rc = build (COMPONENT_REF, TREE_TYPE (ioparm_library_return), ioparm_var, - ioparm_library_return, NULL_TREE); + rc = build3 (COMPONENT_REF, TREE_TYPE (ioparm_library_return), ioparm_var, + ioparm_library_return, NULL_TREE); - tmp = build_v (SWITCH_EXPR, rc, tmp, NULL_TREE); + tmp = build3_v (SWITCH_EXPR, rc, tmp, NULL_TREE); gfc_add_expr_to_block (block, tmp); } @@ -873,7 +873,8 @@ transfer_namelist_element (stmtblock_t * block, gfc_typespec * ts, tree addr_exp { tree field = c->backend_decl; assert (field && TREE_CODE (field) == FIELD_DECL); - tmp = build (COMPONENT_REF, TREE_TYPE (field), expr, field, NULL_TREE); + tmp = build3 (COMPONENT_REF, TREE_TYPE (field), + expr, field, NULL_TREE); if (c->dimension) gfc_todo_error ("NAMELIST IO of array in derived type"); @@ -1185,8 +1186,8 @@ transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr) field = c->backend_decl; assert (field && TREE_CODE (field) == FIELD_DECL); - tmp = build (COMPONENT_REF, TREE_TYPE (field), expr, field, - NULL_TREE); + tmp = build3 (COMPONENT_REF, TREE_TYPE (field), expr, field, + NULL_TREE); if (c->ts.type == BT_CHARACTER) { |