view gcc/testsuite/g++.dg/cpp1y/pr79393-2.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 compile { target c++14 } }

// DR 1658, inaccessible dtor of virtual base doesn't affect an
// abstract class.  But we should stil check access to non-virtual bases.

class C;

struct A {
private:
  ~A (){  }
  friend class C;
};

struct B : A { // { dg-error "is private" }
  virtual bool Ok () = 0; // abstract
};

struct C : B {
  ~C () 
  { }  // { dg-error "use of deleted" }
  virtual bool Ok ();
};