re PR sanitizer/58413 (ubsan constant folding)
authorMarek Polacek <polacek@redhat.com>
Wed, 25 Sep 2013 08:58:57 +0000 (08:58 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Wed, 25 Sep 2013 08:58:57 +0000 (08:58 +0000)
commitb56e978833b09ba47ebc4ebdace007164b493266
tree083cf293ac56951841b59e2db56b5176d154c73a
parent550dfe7f28a031f5ffe59c423c7790d219414ff6
re PR sanitizer/58413 (ubsan constant folding)

PR sanitizer/58413
c-family/
* c-ubsan.c (ubsan_instrument_shift): Don't instrument
an expression if we can prove it is correct.
(ubsan_instrument_division): Likewise.  Remove unnecessary
check.
testsuite/
* c-c++-common/ubsan/shift-5.c: New test.
* c-c++-common/ubsan/shift-6.c: New test.
* c-c++-common/ubsan/div-by-zero-5.c: New test.
* gcc.dg/ubsan/c-shift-1.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r202886
gcc/c-family/ChangeLog
gcc/c-family/c-ubsan.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/ubsan/shift-5.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/ubsan/shift-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ubsan/c-shift-1.c [new file with mode: 0644]