mirror of git://gcc.gnu.org/git/gcc.git
re PR ipa/65465 (Internal compiler error: in build2_stIat)
Fix for PR ipa/65465. PR ipa/65465 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset all fields of cgraph_thunk_info. * g++.dg/ipa/pr65465.C: New test. From-SVN: r221518
This commit is contained in:
parent
5cdd35db59
commit
e68287df88
|
|
@ -1,3 +1,9 @@
|
||||||
|
2015-03-19 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR ipa/65465
|
||||||
|
* cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
|
||||||
|
all fields of cgraph_thunk_info.
|
||||||
|
|
||||||
2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||||
|
|
||||||
* ipa-chkp.c (chkp_maybe_create_clone): Don't try to
|
* ipa-chkp.c (chkp_maybe_create_clone): Don't try to
|
||||||
|
|
|
||||||
|
|
@ -2484,8 +2484,9 @@ cgraph_node::create_wrapper (cgraph_node *target)
|
||||||
|
|
||||||
/* Turn alias into thunk and expand it into GIMPLE representation. */
|
/* Turn alias into thunk and expand it into GIMPLE representation. */
|
||||||
definition = true;
|
definition = true;
|
||||||
|
|
||||||
|
memset (&thunk, 0, sizeof (cgraph_thunk_info));
|
||||||
thunk.thunk_p = true;
|
thunk.thunk_p = true;
|
||||||
thunk.this_adjusting = false;
|
|
||||||
create_edge (target, NULL, count, CGRAPH_FREQ_BASE);
|
create_edge (target, NULL, count, CGRAPH_FREQ_BASE);
|
||||||
|
|
||||||
tree arguments = DECL_ARGUMENTS (decl);
|
tree arguments = DECL_ARGUMENTS (decl);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2015-03-19 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* g++.dg/ipa/pr65465.C: New test.
|
||||||
|
|
||||||
2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
|
2015-03-19 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
PR c++/52659
|
PR c++/52659
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O2" } */
|
||||||
|
|
||||||
|
struct A {};
|
||||||
|
struct B { virtual A foo () const; };
|
||||||
|
struct C { A foo () const; };
|
||||||
|
struct D : virtual B { A foo () const {} };
|
||||||
|
struct F : D { virtual int bar () const; };
|
||||||
|
int F::bar () const { return 0; }
|
||||||
|
A C::foo () const { return A (); }
|
||||||
Loading…
Reference in New Issue