re PR middle-end/67662 (-fsanitize=undefined cries wolf for X - 1 + X when X is 2...
authorRichard Biener <rguenther@suse.de>
Wed, 23 Sep 2015 14:09:48 +0000 (14:09 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 23 Sep 2015 14:09:48 +0000 (14:09 +0000)
commitef537cc859dd149230454398078da6d3128cfd9a
tree67581402c59ae589386b720bd313c301e37ab859
parent9e07d08d785f0c612c0dd1c0ed713ebaf8298720
re PR middle-end/67662 (-fsanitize=undefined cries wolf for X - 1 + X when X is 2**30)

2015-09-23   Richard Biener  <rguenther@suse.de>

PR middle-end/67662
* fold-const.c (fold_binary_loc): Do not reassociate two vars with
undefined overflow unless they will cancel out.

* gcc.dg/ubsan/pr67662.c: New testcase.

From-SVN: r228051
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/ubsan/pr67662.c [new file with mode: 0644]