From: Richard Kenner Date: Fri, 23 Apr 1993 10:55:07 +0000 (-0400) Subject: (fold... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a32793551e0ac9ebe3b0ea8c97dea9b6840aabf2;p=gcc.git (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 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index d40e9c8253a..84e89c86b6e 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: