]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR middle-end/31115 (libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream...
authorRichard Guenther <rguenther@suse.de>
Sun, 11 Mar 2007 16:08:35 +0000 (16:08 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 11 Mar 2007 16:08:35 +0000 (16:08 +0000)
commit13338552e20fc9327a4bf620715939db13c23ba6
tree34d2d5d5c5a89386cd9edda2da8ff25f96630c53
parentd7419dec458b277eb34ed15a3895c166fc47f93b
re PR middle-end/31115 (libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream/inserters_arithmetic/char/6.cc)

2007-03-11  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/31115
* tree-vrp.c (extract_range_from_binary_expr): Make sure
the shift count is positive and non-anti-range for RSHIFT_EXPR.
A shift count of zero is not special as with *_DIV_EXPR.
(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
direction.

* gcc.dg/torture/pr31115.c: New testcase.

From-SVN: r122821
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr31115.c [new file with mode: 0644]
gcc/tree-vrp.c