summaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-23 21:05:41 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-23 21:05:41 +0000
commit587f0f27d2cd20d79aed10ea923c52a80d278bd6 (patch)
tree514f53534b6c0dd96e972859d9734115364355ba /gcc/fold-const.c
parent65f74cf78c01a259951c5ab69549daf85a4b9aed (diff)
downloadgcc-587f0f27d2cd20d79aed10ea923c52a80d278bd6.tar.gz
* fold-const.c (fold_convert): Don't call size_int_type_wide if
input overflows. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40012 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 99a602cd297..69b99206802 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2022,6 +2022,7 @@ fold_convert (t, arg1)
/* If we are trying to make a sizetype for a small integer, use
size_int to pick up cached types to reduce duplicate nodes. */
if (TREE_CODE (type) == INTEGER_TYPE && TYPE_IS_SIZETYPE (type)
+ && !TREE_CONSTANT_OVERFLOW (arg1)
&& compare_tree_int (arg1, 10000) < 0)
return size_int_type_wide (TREE_INT_CST_LOW (arg1), type);