This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: New ipa-devirt PATCH for c++/58678 (devirt vs. KDE)


On Wed, Mar 05, 2014 at 07:40:06PM +0100, Jan Hubicka wrote:
> >     gcc/cp/
> >     	* search.c (get_pure_virtuals): Set BINFO_ABSTRACT_P.
> >     	* tree.c (copy_binfo): Copy it.
> 
> You need to also save and restre the flag in LTO streaming.
> I can prepare patch tomorrow if you preffer, thanks for looking into this!

It is TREE_ADDRESSABLE, isn't it streamed already?

> > --- a/gcc/tree.h
> > +++ b/gcc/tree.h
> > @@ -1804,6 +1804,9 @@ extern void protected_set_expr_location (tree, location_t);
> >  /* Nonzero means that the derivation chain is via a `virtual' declaration.  */
> >  #define BINFO_VIRTUAL_P(NODE) (TREE_BINFO_CHECK (NODE)->base.static_flag)
> >  
> > +/* Nonzero means that the base is an abstract class.  */
> > +#define BINFO_ABSTRACT_P(NODE) (TREE_BINFO_CHECK (NODE)->base.addressable_flag)
> > +
> >  /* Flags for language dependent use.  */
> >  #define BINFO_MARKED(NODE) TREE_LANG_FLAG_0 (TREE_BINFO_CHECK (NODE))
> >  #define BINFO_FLAG_1(NODE) TREE_LANG_FLAG_1 (TREE_BINFO_CHECK (NODE))

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]