On Wed, Oct 22, 2014 at 11:59:06AM +0400, Yury Gribov wrote: > >(in some cases for > >the kind that is enabled with -fsanitize= only, in other cases > >perhaps for something covering that and some other options), > > Depending on what? I've just passed contents of -fsanitize= to > -fsanitize-recover=, seems to work fine.
I meant pick randomly a few testcases where you -fno-sanitize-recover= a superset of what is specified in -fsanitize= , but it is not a big deal. > 2014-10-22 Jakub Jelinek <ja...@redhat.com> > Yury Gribov <y.gri...@samsung.com> > > gcc/ > * common.opt (flag_sanitize_recover): New variable. > (fsanitize-recover): Remove Var/Init, deprecate. > (fsanitize-recover=): New option. > * doc/invoke.texi (fsanitize-recover): Update docs. > * opts.c (finish_options): Use opts->x_flag_sanitize > instead of flag_sanitize. Prohibit -fsanitize-recover > for anything besides UBSan. Formatting. > (common_handle_option): Handle OPT_fsanitize_recover_ > and OPT_fsanitize_recover. Use opts->x_flag_sanitize > instead of flag_sanitize. > * asan.c (pass_sanopt::execute): Fix up formatting. > * ubsan.c (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn, > ubsan_expand_objsize_ifn, ubsan_build_overflow_builtin, > instrument_bool_enum_load, ubsan_instrument_float_cast, > instrument_nonnull_arg, instrument_nonnull_return): Check > bits in flag_sanitize_recover bitmask instead of > flag_sanitize_recover as bool flag. > > gcc/c-family/ > * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, > ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask > instead of flag_sanitize_recover as bool flag. > > gcc/testsuite/ > * c-c++-common/ubsan/align-1.c: Updated cmdline options. > * c-c++-common/ubsan/align-3.c: Likewise. > * c-c++-common/ubsan/bounds-1.c: Likewise. > * c-c++-common/ubsan/div-by-zero-7.c: Likewise. > * c-c++-common/ubsan/float-cast-overflow-10.c: Likewise. > * c-c++-common/ubsan/float-cast-overflow-7.c: Likewise. > * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise. > * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. > * c-c++-common/ubsan/nonnull-2.c: Likewise. > * c-c++-common/ubsan/nonnull-3.c: Likewise. > * c-c++-common/ubsan/object-size-3.c: Likewise. > * c-c++-common/ubsan/overflow-1.c: Likewise. > * c-c++-common/ubsan/overflow-add-1.c: Likewise. > * c-c++-common/ubsan/overflow-add-3.c: Likewise. > * c-c++-common/ubsan/overflow-mul-1.c: Likewise. > * c-c++-common/ubsan/overflow-mul-3.c: Likewise. > * c-c++-common/ubsan/overflow-negate-2.c: Likewise. > * c-c++-common/ubsan/overflow-sub-1.c: Likewise. > * c-c++-common/ubsan/pr59503.c: Likewise. > * c-c++-common/ubsan/pr60613-1.c: Likewise. > * c-c++-common/ubsan/save-expr-1.c: Likewise. > * c-c++-common/ubsan/shift-3.c: Likewise. > * c-c++-common/ubsan/shift-6.c: Likewise. > * c-c++-common/ubsan/undefined-1.c: Likewise. > * c-c++-common/ubsan/vla-2.c: Likewise. > * c-c++-common/ubsan/vla-3.c: Likewise. > * c-c++-common/ubsan/vla-4.c: Likewise. > * g++.dg/ubsan/cxx11-shift-1.C: Likewise. > * g++.dg/ubsan/return-2.C: Likewise. > * c-c++-common/ubsan/recovery-1.c: New test. > * c-c++-common/ubsan/recovery-2.c: New test. > * c-c++-common/ubsan/recovery-3.c: New test. > * c-c++-common/ubsan/recovery-common.inc: New file. Ok, thanks. Jakub