view gcc/testsuite/g++.dg/other/fsyntax-only1.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

// PR c++/80831
// { dg-options -fsyntax-only }
// { dg-do compile { target c++11 } }

class A
{
public:
    virtual ~A() { }
};

class B { };

class C : public A { };

template<class J>
class D : public C
{
public:
    D() { }
    ~D() { }
};

class E
{
public:
    static E& p();
    B q();
    template<class J>
    B q(void (J::*r)())
    {
        new D<J>();
        return q();
    }
};

void t()
{
  class F
  {
  public:
    virtual void s() { }
  };
  E& x = E::p();
  B y = x.q(&F::s);
}