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