fold-const.c (fold_convert): Don't call size_int_type_wide if input overflows.

* fold-const.c (fold_convert): Don't call size_int_type_wide if
	input overflows.

From-SVN: r40012
This commit is contained in:
Richard Kenner 2001-02-23 21:05:41 +00:00 committed by Richard Kenner
parent 9b58f73986
commit ac50176d22
2 changed files with 4 additions and 0 deletions

View File

@ -1,5 +1,8 @@
Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* fold-const.c (fold_convert): Don't call size_int_type_wide if
input overflows.
* c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK. * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
* varasm.c (output_constant): Recompute CODE after lang-specific fn. * varasm.c (output_constant): Recompute CODE after lang-specific fn.

View File

@ -2022,6 +2022,7 @@ fold_convert (t, arg1)
/* If we are trying to make a sizetype for a small integer, use /* If we are trying to make a sizetype for a small integer, use
size_int to pick up cached types to reduce duplicate nodes. */ size_int to pick up cached types to reduce duplicate nodes. */
if (TREE_CODE (type) == INTEGER_TYPE && TYPE_IS_SIZETYPE (type) if (TREE_CODE (type) == INTEGER_TYPE && TYPE_IS_SIZETYPE (type)
&& !TREE_CONSTANT_OVERFLOW (arg1)
&& compare_tree_int (arg1, 10000) < 0) && compare_tree_int (arg1, 10000) < 0)
return size_int_type_wide (TREE_INT_CST_LOW (arg1), type); return size_int_type_wide (TREE_INT_CST_LOW (arg1), type);