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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jamborm at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
First list of nodes with same decl bypassing

      /* Nodes without a body are not interesting.  Especially do not
         visit clones at this point for now - we get duplicate decls
         there for inline clones at least.  */
      if (!node->has_gimple_body_p () || node->global.inlined_to)
        continue;

      if (node->ultimate_alias_target () != node)
        continue;

_ZThn8_N1C2fnEPKciPi/3 (virtual E C::_ZThn8_N1C2fnEPKciPi(const char*, int,
int*)) @0x7ffff6a375c0
  Type: function definition analyzed
  Visibility: externally_visible public virtual artificial
  previous sharing asm name: 21
  Address is taken.
  Availability: available
  First run: 0
  Function flags: body
  Called by: 
  Calls: _ZN1C2fnEPKciPi/23 (inlined) (1.00 per call) (can throw external) 

_ZN1C2fnEPKciPi/1 (virtual E C::fn(const char*, int, int*)) @0x7ffff6a372e0
  Type: function definition analyzed
  Visibility: externally_visible public virtual
  previous sharing asm name: 32
  Address is taken.
  Availability: available
  First run: 0
  Function flags: body indirect_call_target
  Called by: 

where the latter is 'node' (the ultimate alias target).  The former is
only reached through another alias chain, originating from

_ZN1C2fnEPKciPi/1 (virtual E C::fn(const char*, int, int*)) @0x7ffff6a372e0
  Type: function definition analyzed
  Visibility: externally_visible public virtual
  previous sharing asm name: 32
  Address is taken.
  Referring: *.LTHUNK0/2 (alias)_ZTV1C/4 (addr)_ZThn8_N1C2fnEPKciPi/3 (addr)
  Availability: available
  First run: 0
  Function flags: body indirect_call_target
  Called by: 

so it somehow walks itself with call_for_symbol_thunks_and_aliases but also
the decl it uses is used for an unrelated thunks-and-aliases chain.

I'm lost (cgraph bug?!)

Reply via email to