ubsan.h (struct ubsan_mismatch_data): Removed.
authorJakub Jelinek <jakub@redhat.com>
Wed, 10 Sep 2014 09:21:25 +0000 (11:21 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 10 Sep 2014 09:21:25 +0000 (11:21 +0200)
commit570a11fe5a60f3012f1c2548745de10fd96b787e
tree81f58ffd80e23ae4883c03986eb7fa04b5ae93a9
parentf7be73c86287ab5b8c8121732d3ab6249415a429
ubsan.h (struct ubsan_mismatch_data): Removed.

* ubsan.h (struct ubsan_mismatch_data): Removed.
(ubsan_create_data): Remove MISMATCH argument, add LOCCNT argument.
* ubsan.c (ubsan_source_location): For unknown locations,
pass { NULL, 0, 0 } instead of { "<unknown>", x, y }.
(ubsan_create_data): Remove MISMATCH argument, add LOCCNT argument.
Allow more than one location and arbitrary extra arguments passed
in ... instead of through MISMATCH pointer.
(ubsan_instrument_unreachable, ubsan_expand_bounds_ifn,
ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
callers.
c-family/
* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
ubsan_instrument_vla, ubsan_instrument_return): Adjust
ubsan_create_data callers.
(ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
index is constant or BIT_AND_EXPR with constant mask and is
small enough for the bound.
* c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
ARRAY_REF, make sure the inner ARRAY_REF is not walked again.

From-SVN: r215117
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-gimplify.c
gcc/c-family/c-ubsan.c
gcc/ubsan.c
gcc/ubsan.h