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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-09-29
     Ever confirmed|0                           |1

--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat moc.ii
namespace Sublime {
struct View;
struct AreaIndex;
struct Area {
  void qt_static_metacall();
  void viewAdded(AreaIndex *, View *);
};
}
void Sublime::Area::qt_static_metacall() {
  typedef void (Area::*_t)(AreaIndex *, View *);
  if (*reinterpret_cast<_t *>(1) == _t(&Area::viewAdded))
    __builtin_abort();
}

gcc-6 -O3:

Sublime::Area::qt_static_metacall():
        cmpq    Sublime::Area::viewAdded(Sublime::AreaIndex*, Sublime::View*),
1
        je      .L7
.L1:
        rep ret
.L7:
        cmpq    $0, 9
        jne     .L1
        subq    $8, %rsp
        call    abort

trunk -O3:

Sublime::Area::qt_static_metacall():
        cmpq    $0, 1
        je      .L7
        rep ret
.L7:
        subq    $8, %rsp
        call    abort

Reply via email to