Implement ISan: unsigned integer overflow checker. 17/158717/1
authorMaxim Ostapenko <m.ostapenko@samsung.com>
Thu, 1 Jun 2017 13:21:11 +0000 (16:21 +0300)
committerIvan Baravy <i.baravy@samsung.com>
Thu, 2 Nov 2017 13:55:25 +0000 (16:55 +0300)
commit247fbfafcc633f5e1feac75a95a07a71c44764c7
tree765431afb917d657bd670cb12caafd157dbf2dbb
parent1c70d9e8e6aad835338fbd38d9083465a835b7b9
Implement ISan: unsigned integer overflow checker.

ISan in FE.
Handle all s and u cases.
Add unit and regression tests.

Change-Id: I3f60f751598d904683264372541c2d3be0076768
34 files changed:
gcc/builtins.c
gcc/c-family/c-common.c
gcc/c-family/c-ubsan.c
gcc/c-family/c-ubsan.h
gcc/c/c-parser.c
gcc/c/c-typeck.c
gcc/calls.c
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/constexpr.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/doc/invoke.texi
gcc/flag-types.h
gcc/fold-const.c
gcc/gimplify.c
gcc/internal-fn.c
gcc/internal-fn.def
gcc/opts.c
gcc/testsuite/c-c++-common/isan/liveadder.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/isan/miniperl.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/isan/overflow-add.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/isan/overflow-mul.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/isan/overflow-sub.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/isan/static-initializer.c [new file with mode: 0644]
gcc/testsuite/g++.dg/isan/cleanup.C [new file with mode: 0644]
gcc/testsuite/g++.dg/isan/constexpr.C [new file with mode: 0644]
gcc/testsuite/g++.dg/isan/isan.exp [new file with mode: 0644]
gcc/testsuite/gcc.dg/isan/false_positive.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/isan/isan.exp [new file with mode: 0644]
gcc/tree-ssa-reassoc.c
gcc/tree.h
gcc/ubsan.c