From: Richard Stallman Date: Wed, 26 Aug 1992 19:45:07 +0000 (+0000) Subject: (fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53d2fb4f5f9e27454c39cfd0dd1d06470b10b79c;p=gcc.git (fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs. From-SVN: r1965 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e23683e2dcb..069c503cb23 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -4110,9 +4110,11 @@ fold (expr) /* If this is A op C1 ? A : C2 with C1 and C2 constant integers, we might still be able to simplify this. For example, if C1 is one less or one more than C2, this might have started - out as a MIN or MAX and been transformed by this function. */ + out as a MIN or MAX and been transformed by this function. + Only good for INTEGER_TYPE, because we need TYPE_MAX_VALUE. */ - if (TREE_CODE (TREE_OPERAND (arg0, 1)) == INTEGER_CST + if (TREE_CODE (type) == INTEGER_TYPE + && TREE_CODE (TREE_OPERAND (arg0, 1)) == INTEGER_CST && TREE_CODE (arg2) == INTEGER_CST) switch (comp_code) {