gcc/gcc/c
Martin Liska 45b2222a13 Implement no_sanitize function attribute
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-c++-common/ubsan/attrib-2.c (float_cast2): Enhance the
	test by adding no_sanitize attribute.
	* gcc.dg/asan/use-after-scope-4.c: Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-attribs.c (add_no_sanitize_value): New function.
	(handle_no_sanitize_attribute): Likewise.
	(handle_no_sanitize_address_attribute): Use the function.
	(handle_no_sanitize_thread_attribute): New function.
	(handle_no_address_safety_analysis_attribute): Use
	add_no_sanitize_value.
	(handle_no_sanitize_undefined_attribute): Likewise.
	* c-common.h: Declare new functions.
	* c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
	(ubsan_instrument_shift): Likewise.
	(ubsan_instrument_bounds): Likewise.
	(ubsan_maybe_instrument_array_ref): Likewise.
	(ubsan_maybe_instrument_reference_or_call): Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* asan.c (asan_sanitize_stack_p): Use sanitize_flags_p.
	(gate_asan): Likewise.
	* asan.h (asan_no_sanitize_address_p): Remove the function.
	(sanitize_flags_p): New function.
	* builtins.def: Fix coding style.
	* common.opt: Use renamed enum value.
	* convert.c (convert_to_integer_1): Use sanitize_flags_p.
	* doc/extend.texi: Document no_sanitize attribute.
	* flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT
	to SANITIZE_UNDEFINED_NONDEFAULT.
	* gcc.c (sanitize_spec_function): Use the renamed enum value.
	* gimple-fold.c (optimize_atomic_compare_exchange_p):
	Use sanitize_flags_p.
	* gimplify.c (gimplify_function_tree): Likewise.
	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise.
	* opts.c (parse_no_sanitize_attribute): New function.
	(common_handle_option): Use renamed enum value.
	* opts.h (parse_no_sanitize_attribute): Declare.
	* tree.c (sanitize_flags_p): New function.
	* tree.h: Declared here.
	* tsan.c: Use sanitize_flags_p.
	* ubsan.c (ubsan_expand_null_ifn): Likewise.
	(instrument_mem_ref): Likewise.
	(instrument_bool_enum_load): Likewise.
	(do_ubsan_in_current_function): Remove the function.
	(pass_ubsan::execute): Use sanitize_flags_p.
	* ubsan.h: Remove do_ubsan_in_current_function
	* tree-cfg.c (print_no_sanitize_attr_value): New function.
	(dump_function_to_file): Use it here.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* class.c (build_base_path): Use sanitize_flags_p.
	* cp-gimplify.c (cp_genericize_r): Likewise.
	(cp_genericize_tree): Likewise.
	(cp_genericize): Likewise.
	* cp-ubsan.c (cp_ubsan_instrument_vptr_p): Likewise.
	* decl.c (compute_array_index_type): Likewise.
	(start_preparsed_function): Likewise.
	* decl2.c (one_static_initialization_or_destruction): Likewise.
	* init.c (finish_length_check): Likewise.
	* lambda.c (maybe_add_lambda_conv_op): Likewise.
	* typeck.c (cp_build_binary_op): Likewise.
	(build_static_cast_1): Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-convert.c (convert): Use sanitize_flags_p.
	* c-decl.c (grokdeclarator): Likewise.
	* c-typeck.c (convert_for_assignment): Likewise.
	(c_finish_return): Likewise.
	(build_binary_op): Likewise.

From-SVN: r249158
2017-06-13 13:59:05 +00:00
..
ChangeLog Implement no_sanitize function attribute 2017-06-13 13:59:05 +00:00
Make-lang.in Update copyright years. 2017-01-01 13:07:43 +01:00
c-array-notation.c Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
c-aux-info.c Update copyright years. 2017-01-01 13:07:43 +01:00
c-convert.c Implement no_sanitize function attribute 2017-06-13 13:59:05 +00:00
c-decl.c Implement no_sanitize function attribute 2017-06-13 13:59:05 +00:00
c-errors.c Eliminate report_diagnostic macro 2017-05-05 21:01:05 +00:00
c-fold.c PR c/80731 - poor -Woverflow warnings 2017-05-24 16:07:21 -06:00
c-lang.c Update copyright years. 2017-01-01 13:07:43 +01:00
c-lang.h Update copyright years. 2017-01-01 13:07:43 +01:00
c-objc-common.c C++ template type diff printing 2017-05-30 20:38:14 +00:00
c-objc-common.h Update copyright years. 2017-01-01 13:07:43 +01:00
c-parser.c invoke.texi: Document the -Wsizeof-pointer-div warning. 2017-06-02 04:06:59 +00:00
c-parser.h Update copyright years. 2017-01-01 13:07:43 +01:00
c-tree.h invoke.texi: Document the -Wsizeof-pointer-div warning. 2017-06-02 04:06:59 +00:00
c-typeck.c Implement no_sanitize function attribute 2017-06-13 13:59:05 +00:00
config-lang.in c-format.c (local_tree_type_node): Add GTY attribute. 2017-05-18 16:15:59 +00:00
gccspec.c Update copyright years. 2017-01-01 13:07:43 +01:00
gimple-parser.c dumpfile.h (enum tree_dump_index): Rename TDI_generic to TDI_gimple. 2017-06-07 10:57:11 +02:00
gimple-parser.h Add "__RTL" to cc1 2017-01-24 17:07:36 +00:00