diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-04-23 06:56:52 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-04-23 06:56:52 -0400 |
commit | 95e7890978d481b36f8eee2ae124b79b36458ef5 (patch) | |
tree | 5ad2d882cfd3558d595df83fee99314101e583d7 | |
parent | da120c2f90a1e4569629883091c842b01b34e103 (diff) | |
download | gcc-95e7890978d481b36f8eee2ae124b79b36458ef5.zip gcc-95e7890978d481b36f8eee2ae124b79b36458ef5.tar.gz gcc-95e7890978d481b36f8eee2ae124b79b36458ef5.tar.bz2 |
(convert_to_integer...
(convert_to_integer, convert_to_complex): Avoid using
build_{unary,binary}_op since the calling sequences depend on the
front-end.
From-SVN: r4196
-rw-r--r-- | gcc/convert.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/gcc/convert.c b/gcc/convert.c index 62bcaf2..7261e1b 100644 --- a/gcc/convert.c +++ b/gcc/convert.c @@ -269,10 +269,10 @@ convert_to_integer (type, expr) || TREE_UNSIGNED (TREE_TYPE (arg1))) ? unsigned_type (typex) : signed_type (typex)); return convert (type, - build_binary_op (ex_form, - convert (typex, arg0), - convert (typex, arg1), - 0)); + fold (build (ex_form, typex, + convert (typex, arg0), + convert (typex, arg1), + 0))); } } } @@ -300,9 +300,9 @@ convert_to_integer (type, expr) typex = (TREE_UNSIGNED (TREE_TYPE (expr)) ? unsigned_type (typex) : signed_type (typex)); return convert (type, - build_unary_op (ex_form, - convert (typex, TREE_OPERAND (expr, 0)), - 1)); + fold (build1 (ex_form, typex, + convert (typex, + TREE_OPERAND (expr, 0))))); } } @@ -411,9 +411,13 @@ convert_to_complex (type, expr) return fold (build (COMPLEX_EXPR, type, convert (subtype, - build_unary_op (REALPART_EXPR, expr, 1)), + fold (build1 (REALPART_EXPR, + TREE_TYPE (TREE_TYPE (expr)), + expr))), convert (subtype, - build_unary_op (IMAGPART_EXPR, expr, 1)))); + fold (build1 (IMAGPART_EXPR, + TREE_TYPE (TREE_TYPE (expr)), + expr))))); } } |