view gcc/testsuite/g++.old-deja/g++.jason/nested2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
// PRMS Id: 3764 (c/h)
// Bug: g++ gets into an infinite loop trying to find the top-level context

class Menu;
class MenuItem;

class MenuAction {
public:
  virtual void execute (Menu& menu, MenuItem& menuItem) = 0;
protected:
  MenuAction () {}
}; 

class Test {
  class MenuCBA : public MenuAction {
  public:
    typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem);
    MenuCBA (Test& instance, MenuCBA_Member member)
      : _instance(&instance), _member(member) {	}
    void execute (Menu& menu, MenuItem& menuItem);
  private:
    MenuCBA_Member _member;
    Test* _instance;
  };
};