r216552 - in /trunk/gcc: ChangeLog asan.c c-fam...

ygribov@gcc.gnu.org ygribov@gcc.gnu.org
Wed Oct 22 11:07:00 GMT 2014


Author: ygribov
Date: Wed Oct 22 11:07:10 2014
New Revision: 216552

URL: https://gcc.gnu.org/viewcvs?rev=216552&root=gcc&view=rev
Log:
New syntax for -fsanitize-recover.

2014-10-22  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@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: Update 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.

Added:
    trunk/gcc/testsuite/c-c++-common/ubsan/recovery-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/recovery-2.c
    trunk/gcc/testsuite/c-c++-common/ubsan/recovery-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/recovery-common.inc
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/asan.c
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-ubsan.c
    trunk/gcc/common.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/opts.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/ubsan/align-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/align-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/bounds-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/div-by-zero-7.c
    trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-10.c
    trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-7.c
    trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-8.c
    trunk/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-9.c
    trunk/gcc/testsuite/c-c++-common/ubsan/nonnull-2.c
    trunk/gcc/testsuite/c-c++-common/ubsan/nonnull-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/object-size-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-add-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c
    trunk/gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/pr59503.c
    trunk/gcc/testsuite/c-c++-common/ubsan/pr60613-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/save-expr-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/shift-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/shift-6.c
    trunk/gcc/testsuite/c-c++-common/ubsan/undefined-1.c
    trunk/gcc/testsuite/c-c++-common/ubsan/vla-2.c
    trunk/gcc/testsuite/c-c++-common/ubsan/vla-3.c
    trunk/gcc/testsuite/c-c++-common/ubsan/vla-4.c
    trunk/gcc/testsuite/g++.dg/ubsan/cxx11-shift-1.C
    trunk/gcc/testsuite/g++.dg/ubsan/return-2.C
    trunk/gcc/ubsan.c



More information about the Gcc-cvs mailing list