From: Richard Kenner Date: Tue, 13 Jun 1995 22:32:39 +0000 (-0400) Subject: (fold): When converting a COND_EXPR to an ABS_EXPR, get the types X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=21403f14b292fcf53cc270ce42c1bd2517f40adb;p=gcc.git (fold): When converting a COND_EXPR to an ABS_EXPR, get the types right for ABS_EXPR to work. From-SVN: r9939 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e7d313657d9..73ec234e720 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -4854,12 +4854,16 @@ fold (expr) case GE_EXPR: case GT_EXPR: return pedantic_non_lvalue - (fold (build1 (ABS_EXPR, type, arg1))); + (convert (type, fold (build1 (ABS_EXPR, + TREE_TYPE (arg1), arg1)))); case LE_EXPR: case LT_EXPR: return pedantic_non_lvalue (fold (build1 (NEGATE_EXPR, type, - fold (build1 (ABS_EXPR, type, arg1))))); + convert (type, + fold (build1 (ABS_EXPR, + TREE_TYPE (arg1), + arg1)))))); } /* If this is A != 0 ? A : 0, this is simply A. For ==, it is