From c6b43862c45b7a8b9e6f217a7bf7ad26d689f40b Mon Sep 17 00:00:00 2001 From: rguenth Date: Wed, 31 Aug 2011 11:39:20 +0000 Subject: [PATCH] 2011-08-31 Richard Guenther * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178377 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/fold-const.c | 8 +++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef0d194..084ddd2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-08-31 Richard Guenther + + * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE + special-casing. + 2011-08-31 Marc Glisse * doc/generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 5807a55..0f4ca5e 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -5888,11 +5888,9 @@ extract_muldiv_1 (tree t, tree c, enum tree_code code, tree wide_type, multiple of the other, in which case we replace this with either an operation or CODE or TCODE. - If we have an unsigned type that is not a sizetype, we cannot do - this since it will change the result if the original computation - overflowed. */ - if ((TYPE_OVERFLOW_UNDEFINED (ctype) - || (TREE_CODE (ctype) == INTEGER_TYPE && TYPE_IS_SIZETYPE (ctype))) + If we have an unsigned type, we cannot do this since it will change + the result if the original computation overflowed. */ + if (TYPE_OVERFLOW_UNDEFINED (ctype) && ((code == MULT_EXPR && tcode == EXACT_DIV_EXPR) || (tcode == MULT_EXPR && code != TRUNC_MOD_EXPR && code != CEIL_MOD_EXPR -- 2.7.4