tree-ssa-alias.c (setup_pointers_and_addressables): Don't remove TREE_ADDRESSABLE from RESULT_DECL.
* tree-ssa-alias.c (setup_pointers_and_addressables): Don't remove TREE_ADDRESSABLE from RESULT_DECL. testsuite/ChangeLog * g++.dg/tree-ssa/pr17153.C: New test. From-SVN: r87703
This commit is contained in:
parent
d804d49087
commit
57e28d7d76
|
@ -1,3 +1,8 @@
|
|||
2004-09-18 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
* tree-ssa-alias.c (setup_pointers_and_addressables): Don't
|
||||
remove TREE_ADDRESSABLE from RESULT_DECL.
|
||||
|
||||
2004-09-18 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
* tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2004-09-18 Diego Novillo <dnovillo@redhat.com>
|
||||
|
||||
* g++.dg/tree-ssa/pr17153.C: New test.
|
||||
|
||||
2004-09-16 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
PR pch/13361
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
/* The alias analyzer was marking RETVAL non-addressable, but RETVAL
|
||||
is a special variable that's available across different functions. */
|
||||
void foo(const char*);
|
||||
|
||||
struct A {};
|
||||
|
||||
struct B : A
|
||||
{
|
||||
B(){}
|
||||
B bar()
|
||||
{
|
||||
foo(__PRETTY_FUNCTION__);
|
||||
return B();
|
||||
};
|
||||
};
|
||||
|
||||
B b=B().bar();
|
|
@ -1347,6 +1347,7 @@ setup_pointers_and_addressables (struct alias_info *ai)
|
|||
{
|
||||
if (!bitmap_bit_p (ai->addresses_needed, v_ann->uid)
|
||||
&& v_ann->mem_tag_kind == NOT_A_TAG
|
||||
&& TREE_CODE (var) != RESULT_DECL
|
||||
&& !is_global_var (var))
|
||||
{
|
||||
/* The address of VAR is not needed, remove the
|
||||
|
|
Loading…
Reference in New Issue