aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r--gcc/fortran/trans-io.c31
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)
{