Fix ICE in use-after-scope w/ -fno-tree-dce (PR sanitize/79783).
2017-03-06 Martin Liska <mliska@suse.cz> PR sanitize/79783 * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON when having a SSA NAME w/o VAR_DECL assigned to it. 2017-03-06 Martin Liska <mliska@suse.cz> PR sanitize/79783 * g++.dg/asan/pr79783.C: New test. From-SVN: r245912
This commit is contained in:
parent
5ada812ced
commit
a50a32aa3c
|
@ -1,3 +1,9 @@
|
|||
2017-03-06 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR sanitize/79783
|
||||
* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
|
||||
when having a SSA NAME w/o VAR_DECL assigned to it.
|
||||
|
||||
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
|
||||
|
||||
* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
|
||||
|
|
|
@ -3107,12 +3107,16 @@ asan_expand_poison_ifn (gimple_stmt_iterator *iter,
|
|||
{
|
||||
gimple *g = gsi_stmt (*iter);
|
||||
tree poisoned_var = gimple_call_lhs (g);
|
||||
if (!poisoned_var)
|
||||
if (!poisoned_var || has_zero_uses (poisoned_var))
|
||||
{
|
||||
gsi_remove (iter, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (SSA_NAME_VAR (poisoned_var) == NULL_TREE)
|
||||
SET_SSA_NAME_VAR_OR_IDENTIFIER (poisoned_var,
|
||||
create_tmp_var (TREE_TYPE (poisoned_var)));
|
||||
|
||||
tree shadow_var = create_asan_shadow_var (SSA_NAME_VAR (poisoned_var),
|
||||
shadow_vars_mapping);
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2017-03-06 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR sanitize/79783
|
||||
* g++.dg/asan/pr79783.C: New test.
|
||||
|
||||
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
|
||||
|
||||
* gcc.target/mips/msa-dotp.c: New tests.
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
// PR sanitizer/79783
|
||||
// { dg-options "-fno-tree-dce" }
|
||||
|
||||
struct A
|
||||
{
|
||||
static void foo(const char&) {}
|
||||
};
|
||||
|
||||
struct B
|
||||
{
|
||||
B() { A::foo(char()); }
|
||||
};
|
||||
|
||||
struct C
|
||||
{
|
||||
virtual void bar() const { B b; }
|
||||
};
|
||||
|
||||
C c;
|
Loading…
Reference in New Issue