PR sanitizer/64265
commited53cebe3549171cd5ee908d064b019e834b02ff
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2015 21:47:51 +0000 (5 21:47 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2015 21:47:51 +0000 (5 21:47 +0000)
tree71684c10bc82a08750e567f3a2526c6817160a6b
parent823a9dd48593c13a959d2bcf2635b48a36509626
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219202 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimplify.c
gcc/internal-fn.c
gcc/internal-fn.def
gcc/tree-inline.c
gcc/tsan.c