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

            Bug ID: 79290
           Summary: [7 Regression] forming pointer to member function
                    tries to access "__pfn"
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

struct Song {
  typedef int (Song::*GetFunction)(unsigned) const;

  virtual int get(unsigned) const = 0;
};

struct SongTag {
  Song::GetFunction function() const { return m_function; }

  Song::GetFunction m_function;
};

template<typename T>
struct Printer {
  bool operator()(const SongTag st) {
    return st.function() == &Song::get;
  }
};

int main()
{
  Printer<int> p;
  p(SongTag{});
}

Reply via email to