summaryrefslogtreecommitdiff
path: root/gcc/match.pd
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-09-02 10:38:13 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-09-02 10:38:13 +0200
commit976f9aa1e8b30112c0932b761e815cafcc69641f (patch)
tree748ca02a13b7c28c337de39dce894845337d34c7 /gcc/match.pd
parent8756957f013a5fe8095890e0401fbf7dfd86c0c0 (diff)
re PR go/91617 (Many go test case failures after r275026)
PR go/91617 * fold-const.c (range_check_type): For enumeral and boolean type, pass 1 to type_for_size langhook instead of TYPE_UNSIGNED (etype). Return unsigned_type_for result whenever etype isn't TYPE_UNSIGNED INTEGER_TYPE. (build_range_check): Don't call unsigned_type_for for pointer types. * match.pd (X / C1 op C2): Don't call unsigned_type_for on range_check_type result. From-SVN: r275299
Diffstat (limited to 'gcc/match.pd')
-rw-r--r--gcc/match.pd2
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/match.pd b/gcc/match.pd
index 13e41a933f7..cd75dacd9cd 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -1569,8 +1569,6 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
tree etype = range_check_type (TREE_TYPE (@0));
if (etype)
{
- if (! TYPE_UNSIGNED (etype))
- etype = unsigned_type_for (etype);
hi = fold_convert (etype, hi);
lo = fold_convert (etype, lo);
hi = const_binop (MINUS_EXPR, etype, hi, lo);