treetree.c (tree_code_if_start): Use fold_buildN.

2005-03-22  James A. Morrison  <phython@gcc.gnu.org>

        * treetree.c (tree_code_if_start): Use fold_buildN.
        (tree_code_create_variable): Likewise.
        (tree_code_generate_return): Likewise.
        (tree_code_get_expression): Likewise.
        (tree_code_add_parameter): Likewise.

From-SVN: r96920
This commit is contained in:
James A. Morrison 2005-03-23 02:42:15 +00:00
parent 52f9be1826
commit c5106933db
2 changed files with 27 additions and 19 deletions

View File

@ -1,3 +1,11 @@
2005-03-22 James A. Morrison <phython@gcc.gnu.org>
* treetree.c (tree_code_if_start): Use fold_buildN.
(tree_code_create_variable): Likewise.
(tree_code_generate_return): Likewise.
(tree_code_get_expression): Likewise.
(tree_code_add_parameter): Likewise.
2005-03-22 James A. Morrison <phython@gcc.gnu.org>
* treelang.h (struct parameter_part): Skip WHERE_TO_PUT_VAR_TREE

View File

@ -257,9 +257,9 @@ void
tree_code_if_start (tree exp, location_t loc)
{
tree cond_exp, cond;
cond_exp = fold (build2 (NE_EXPR, boolean_type_node, exp,
fold (build1 (CONVERT_EXPR, TREE_TYPE (exp),
integer_zero_node))));
cond_exp = fold_build2 (NE_EXPR, boolean_type_node, exp,
fold_build1 (CONVERT_EXPR, TREE_TYPE (exp),
integer_zero_node));
SET_EXPR_LOCATION (cond_exp, loc);
cond = build3 (COND_EXPR, void_type_node, cond_exp, NULL_TREE,
NULL_TREE);
@ -525,7 +525,7 @@ tree_code_create_variable (unsigned int storage_class,
/* 3a. Initialization. */
if (init)
DECL_INITIAL (var_decl) = fold (build1 (CONVERT_EXPR, var_type, init));
DECL_INITIAL (var_decl) = fold_build1 (CONVERT_EXPR, var_type, init);
else
DECL_INITIAL (var_decl) = NULL_TREE;
@ -583,9 +583,9 @@ tree_code_generate_return (tree type, tree exp)
if (exp && TREE_TYPE (TREE_TYPE (current_function_decl)) != void_type_node)
{
setret = fold (build2 (MODIFY_EXPR, type,
DECL_RESULT (current_function_decl),
fold (build1 (CONVERT_EXPR, type, exp))));
setret = fold_build2 (MODIFY_EXPR, type,
DECL_RESULT (current_function_decl),
fold_build1 (CONVERT_EXPR, type, exp));
TREE_SIDE_EFFECTS (setret) = 1;
TREE_USED (setret) = 1;
setret = build1 (RETURN_EXPR, type, setret);
@ -661,9 +661,8 @@ tree_code_get_expression (unsigned int exp_type,
case EXP_ASSIGN:
gcc_assert (op1 && op2);
operator = MODIFY_EXPR;
ret1 = fold (build2 (operator, void_type_node, op1,
fold (build1 (CONVERT_EXPR, TREE_TYPE (op1),
op2))));
ret1 = fold_build2 (operator, void_type_node, op1,
fold_build1 (CONVERT_EXPR, TREE_TYPE (op1), op2));
break;
@ -682,9 +681,9 @@ tree_code_get_expression (unsigned int exp_type,
/* Expand a binary expression. Ensure the operands are the right type. */
binary_expression:
gcc_assert (op1 && op2);
ret1 = fold (build2 (operator, type,
fold (build1 (CONVERT_EXPR, type, op1)),
fold (build1 (CONVERT_EXPR, type, op2))));
ret1 = fold_build2 (operator, type,
fold_build1 (CONVERT_EXPR, type, op1),
fold_build1 (CONVERT_EXPR, type, op2));
break;
/* Reference to a variable. This is dead easy, just return the
@ -697,7 +696,7 @@ tree_code_get_expression (unsigned int exp_type,
if (type == TREE_TYPE (op1))
ret1 = build1 (NOP_EXPR, type, op1);
else
ret1 = fold (build1 (CONVERT_EXPR, type, op1));
ret1 = fold_build1 (CONVERT_EXPR, type, op1);
break;
case EXP_FUNCTION_INVOCATION:
@ -705,9 +704,10 @@ tree_code_get_expression (unsigned int exp_type,
{
tree fun_ptr;
TREE_USED (op1) = 1;
fun_ptr = fold (build1 (ADDR_EXPR,
build_pointer_type (TREE_TYPE (op1)), op1));
ret1 = build3 (CALL_EXPR, type, fun_ptr, nreverse (op2), NULL_TREE);
fun_ptr = fold_build1 (ADDR_EXPR,
build_pointer_type (TREE_TYPE (op1)), op1);
ret1 = fold_build3 (CALL_EXPR, type, fun_ptr, nreverse (op2),
NULL_TREE);
}
break;
@ -738,8 +738,8 @@ tree_code_add_parameter (tree list, tree proto_exp, tree exp)
{
tree new_exp;
new_exp = tree_cons (NULL_TREE,
fold (build1 (CONVERT_EXPR, TREE_TYPE (proto_exp),
exp)), NULL_TREE);
fold_build1 (CONVERT_EXPR, TREE_TYPE (proto_exp),
exp), NULL_TREE);
if (!list)
return new_exp;
return chainon (new_exp, list);