diff options
author | Martin Liska <mliska@suse.cz> | 2017-10-18 10:14:47 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-10-18 08:14:47 +0000 |
commit | 236ac44204c4a0f172751fad3221a8686e58bfc7 (patch) | |
tree | 3725d74c3a9dce2e6b7b2d1b0724a8dbd3b604c9 /gcc/asan.c | |
parent | 1b2944cbd4da300b142524fe259fc20140396692 (diff) |
Do not put gimple stmt on an abnormal edge (PR sanitizer/82545).
2017-10-18 Martin Liska <mliska@suse.cz>
PR sanitizer/82545
* asan.c (asan_expand_poison_ifn): Do not put gimple stmt
on an abnormal edge.
2017-10-18 Martin Liska <mliska@suse.cz>
PR sanitizer/82545
* gcc.dg/asan/pr82545.c: New test.
From-SVN: r253845
Diffstat (limited to 'gcc/asan.c')
-rw-r--r-- | gcc/asan.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/asan.c b/gcc/asan.c index 2aa0a795af2..99958ecc330 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -3400,6 +3400,10 @@ asan_expand_poison_ifn (gimple_stmt_iterator *iter, { edge e = gimple_phi_arg_edge (phi, i); + /* Do not insert on an edge we can't split. */ + if (e->flags & EDGE_ABNORMAL) + continue; + if (call_to_insert == NULL) call_to_insert = gimple_copy (call); |