re PR sanitizer/64265 (r217669 broke tsan)
authorJakub Jelinek <jakub@redhat.com>
Mon, 5 Jan 2015 21:47:51 +0000 (22:47 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 5 Jan 2015 21:47:51 +0000 (22:47 +0100)
commitfca4adf2095dfcd453ab32250984d85ff66bbd32
tree71684c10bc82a08750e567f3a2526c6817160a6b
parente534110031564716a1e495a38bf8d893b23a5993
re PR sanitizer/64265 (r217669 broke tsan)

PR sanitizer/64265
* gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
call as cleanup of the whole body.
* internal-fn.def (TSAN_FUNC_EXIT): New internal call.
* tsan.c (replace_func_exit): New function.
(instrument_func_exit): Moved earlier.
(instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
been found.
(tsan_pass): Don't call instrument_func_exit.
* internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
* tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
inlining.

From-SVN: r219202
gcc/ChangeLog
gcc/gimplify.c
gcc/internal-fn.c
gcc/internal-fn.def
gcc/tree-inline.c
gcc/tsan.c