From: Richard Kenner Date: Fri, 25 Feb 1994 23:32:13 +0000 (-0500) Subject: (substitute_in_type, case REAL_TYPE): Allow TYPE_{MIN,MAX}_VALUE to be X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=afb52ee70158e214291ccebba1e3da777c3e3267;p=gcc.git (substitute_in_type, case REAL_TYPE): Allow TYPE_{MIN,MAX}_VALUE to be unassigned. From-SVN: r6626 --- diff --git a/gcc/tree.c b/gcc/tree.c index 40bebf7f400..8d2df27b783 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -2117,14 +2117,19 @@ substitute_in_type (t, f, r) return t; case REAL_TYPE: - if ((TREE_CODE (TYPE_MIN_VALUE (t)) != INTEGER_CST + if ((TYPE_MIN_VALUE (t) != 0 + && TREE_CODE (TYPE_MIN_VALUE (t)) != REAL_CST && contains_placeholder_p (TYPE_MIN_VALUE (t))) - || (TREE_CODE (TYPE_MAX_VALUE (t)) != INTEGER_CST + || (TYPE_MAX_VALUE (t) != 0 + && TREE_CODE (TYPE_MAX_VALUE (t)) != REAL_CST && contains_placeholder_p (TYPE_MAX_VALUE (t)))) { - t = build_type_copy (t); - TYPE_MIN_VALUE (t) = substitute_in_expr (TYPE_MIN_VALUE (t), f, r); - TYPE_MAX_VALUE (t) = substitute_in_expr (TYPE_MAX_VALUE (t), f, r); + t = copy_type (t); + + if (TYPE_MIN_VALUE (t)) + TYPE_MIN_VALUE (t) = substitute_in_expr (TYPE_MIN_VALUE (t), f, r); + if (TYPE_MAX_VALUE (t)) + TYPE_MAX_VALUE (t) = substitute_in_expr (TYPE_MAX_VALUE (t), f, r); } return t;