aboutsummaryrefslogtreecommitdiff
path: root/gcc/ubsan.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-09-10 11:21:25 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2014-09-10 11:21:25 +0200
commit570a11fe5a60f3012f1c2548745de10fd96b787e (patch)
tree81f58ffd80e23ae4883c03986eb7fa04b5ae93a9 /gcc/ubsan.h
parentf7be73c86287ab5b8c8121732d3ab6249415a429 (diff)
downloadgcc-570a11fe5a60f3012f1c2548745de10fd96b787e.zip
gcc-570a11fe5a60f3012f1c2548745de10fd96b787e.tar.gz
gcc-570a11fe5a60f3012f1c2548745de10fd96b787e.tar.bz2
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
Diffstat (limited to 'gcc/ubsan.h')
-rw-r--r--gcc/ubsan.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/gcc/ubsan.h b/gcc/ubsan.h
index c927323..cd26940 100644
--- a/gcc/ubsan.h
+++ b/gcc/ubsan.h
@@ -38,17 +38,10 @@ enum ubsan_print_style {
UBSAN_PRINT_ARRAY
};
-/* An extra data used by ubsan pointer checking. */
-struct ubsan_mismatch_data {
- tree align;
- tree ckind;
-};
-
extern bool ubsan_expand_bounds_ifn (gimple_stmt_iterator *);
extern bool ubsan_expand_null_ifn (gimple_stmt_iterator *);
extern tree ubsan_instrument_unreachable (location_t);
-extern tree ubsan_create_data (const char *, const location_t *,
- const struct ubsan_mismatch_data *, ...);
+extern tree ubsan_create_data (const char *, int, const location_t *, ...);
extern tree ubsan_type_descriptor (tree, enum ubsan_print_style = UBSAN_PRINT_NORMAL);
extern tree ubsan_encode_value (tree, bool = false);
extern bool is_ubsan_builtin_p (tree);