[Bug c++/8826] "a >> b" differs from "a.operator>>(b)" in that virtual function calls are not avoided

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Apr 28 06:47:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-04-28 02:32 -------

int testfunc1(int) (y)
{
  int r;
  struct A a;

<bb 0>:
  a._vptr$A = &_ZTV1A[2];
  __asm__ __volatile__("testlabel1: "::);
  r = A::_ZTV1A (&a, y);
  __asm__ __volatile__("testlabel2: "::);
  return r;
}

So if A::_ZTV1A is expanded to _ZN1ArsEi (by 14841) and then inlining the function will 
cause it to act like any other function (PR 9079)

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |9079, 14841
Bug 8826 depends on bug 9079, which changed state.

Bug 9079 Summary: [tree-ssa] Inline constant function pointers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9079

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |
             Status|REOPENED                    |ASSIGNEDBug 8826 depends on bug 9079, which changed state.

Bug 9079 Summary: [tree-ssa] Inline constant function pointers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9079

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |
             Status|REOPENED                    |ASSIGNED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8826



More information about the Gcc-bugs mailing list