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

            Bug ID: 79687
           Summary: [6/7 Regression] Wrong code with pointer-to-member
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org
  Target Milestone: ---

The following code snippet is miscompiled since GCC 6:

======================================
struct A
{
  char c;
};

int main()
{
  char A::* p = &A::c;
  static char A::* const q = p;

  A a;
  return &(a.*q) - &a.c;
}
======================================

The program should return 0, but doesn't.

Reply via email to