diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-04-23 06:55:07 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-04-23 06:55:07 -0400 |
commit | a32793551e0ac9ebe3b0ea8c97dea9b6840aabf2 (patch) | |
tree | 1c2fdcfb5838892063b150fe4bab5db72c261e01 /gcc | |
parent | 550707f7e4c85d11b03510293626303d3395ebd4 (diff) | |
download | gcc-a32793551e0ac9ebe3b0ea8c97dea9b6840aabf2.zip gcc-a32793551e0ac9ebe3b0ea8c97dea9b6840aabf2.tar.gz gcc-a32793551e0ac9ebe3b0ea8c97dea9b6840aabf2.tar.bz2 |
(fold...
(fold, case REALPART_EXPR, IMAGPART_EXPR): Avoid using
build_{unary,binary}_op since the calling sequences depend on the
front-end.
From-SVN: r4194
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fold-const.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index d40e9c8..84e89c8 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -4440,14 +4440,11 @@ fold (expr) else if (TREE_CODE (arg0) == COMPLEX_CST) return TREE_REALPART (arg0); else if (TREE_CODE (arg0) == PLUS_EXPR || TREE_CODE (arg0) == MINUS_EXPR) - return build_binary_op (TREE_CODE (arg0), type, - build_unary_op (REALPART_EXPR, - TREE_OPERAND (arg0, 0), - 1), - build_unary_op (REALPART_EXPR, - TREE_OPERAND (arg0, 1), - 1), - 0); + return fold (build (TREE_CODE (arg0), type, + fold (build1 (REALPART_EXPR, type, + TREE_OPERAND (arg0, 0))), + fold (build1 (REALPART_EXPR, + type, TREE_OPERAND (arg0, 1))))); return t; case IMAGPART_EXPR: @@ -4459,14 +4456,11 @@ fold (expr) else if (TREE_CODE (arg0) == COMPLEX_CST) return TREE_IMAGPART (arg0); else if (TREE_CODE (arg0) == PLUS_EXPR || TREE_CODE (arg0) == MINUS_EXPR) - return build_binary_op (TREE_CODE (arg0), type, - build_unary_op (IMAGPART_EXPR, - TREE_OPERAND (arg0, 0), - 1), - build_unary_op (IMAGPART_EXPR, - TREE_OPERAND (arg0, 1), - 1), - 0); + return fold (build (TREE_CODE (arg0), type, + fold (build1 (IMAGPART_EXPR, type, + TREE_OPERAND (arg0, 0))), + fold (build1 (IMAGPART_EXPR, type, + TREE_OPERAND (arg0, 1))))); return t; default: |