https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87089

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at redhat dot com

--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
This is caused by:

_ZN4itpp1cILNS_1aE0EED2Ev/1 (itpp::c<<anonymous> >::~c() [with itpp::a
<anonymous> = itpp::b]) @0x7ffff70e9438
  Type: function definition analyzed                                            
  Visibility: forced_by_abi public weak comdat_group:_ZN4itpp1cILNS_1aE0EED5Ev
one_only
  Same comdat group as: _ZN4itpp1cILNS_1aE0EED1Ev/2                             
  Address is taken.                                                             
  Aux: @0x7ffff70e95a0                                                          
  References: _ZTVN4itpp1cILNS_1aE0EEE/4 (addr)__gxx_personality_v0/8 (addr)    
  Referring: _ZN4itpp1cILNS_1aE0EED1Ev/2 (alias)                                
  Function flags: body                                                          
  Called by:                                                                    
  Calls: itpp::CFix::~CFix()/7

this is a destructor which is pointed to from virutal table, but it has no
DECL_VIRTUAL_P flag set. This makes free_lang_data to modify its context and
point to outer namespace rather than the containing polymorphic type.

Why we do not set VIRTUAL_P here?

Reply via email to