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:
parent
9b58f73986
commit
ac50176d22
@ -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.
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user