re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize...
authorJakub Jelinek <jakub@redhat.com>
Wed, 22 Mar 2017 18:34:44 +0000 (19:34 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 22 Mar 2017 18:34:44 +0000 (19:34 +0100)
commitf3dd574e54fc67403c7bfe43780401e06e856dde
tree904be942771e5ff0b78f41ad11034f3427573b07
parentc6dd4ee6b4a2716ae8c70644eb2987230ad729ac
re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize=thread)

PR sanitizer/80110
* tsan.c: Include tree-eh.h.
(instrument_builtin_call): Call maybe_clean_eh_stmt or
maybe_clean_or_replace_eh_stmt where needed.
(instrument_memory_accesses): Add cfg_changed argument.
Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
if it returned true.
(tsan_pass): Adjust caller.  Return TODO_cleanup_cfg if cfg_changed.

* g++.dg/tsan/pr80110.C: New test.

From-SVN: r246399
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tsan/pr80110.C [new file with mode: 0644]
gcc/tsan.c