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

--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Chris Clayton from comment #9)
> That seems odd to me, although I'm happy to be told I'm wrong. I base this
> on the fact that reverting the code change from r214208 permits a successful
> build. MoreOver, in both the failed and sucessful builds, ensureUpdated is
> present in cppmodelmanager.o and that is linked into libCppTools.so.

Before r214208 the body of "virtual QByteArray
CppTools::Internal::CppModelManager::definedMacros()" (and the other two
virtual functions) that call ensureUpdated() were removed:

_ZN8CppTools8Internal15CppModelManager13definedMacrosEv/6495 (virtual
QByteArray CppTools::Internal::CppModelManager::definedMacros())
@0x7f601c207520
Type: function
Body removed by symtab_remove_unreachable_nodes
Visibility: external public weak comdat
comdat_group:_ZN8CppTools8Internal15CppModelManager13definedMacrosEv one_only
virtual

Now these virtual function bodies are kept:

_ZN8CppTools8Internal15CppModelManager13definedMacrosEv/6495 (virtual
QByteArray CppTools::Internal::CppModelManager::definedMacros())
@0x7f67c0347520                        
  Type: function definition analyzed
  Visibility: externally_visible public weak comdat
comdat_group:_ZN8CppTools8Internal15CppModelManager13definedMacrosEv one_only
virtual
  previous sharing asm name: 12475
  Address is taken.
  References:
  Referring: _ZN9CppEditor8Internal27CppCodeModelInspectorDialog7refreshEv/6819
(addr) (speculative)
  Availability: available
  First run: 0
  Function flags: body
  Called by:
  Calls: _ZN8CppTools8Internal15CppModelManager13ensureUpdatedEv/10759 (1.00
per call) (can throw external)

And there is nothing wrong with that AFAICS.

Reply via email to