1 // RUN: %clang_cc1 -fsyntax-only -verify %s
8 struct B
: virtual A
{ };
10 struct C
: virtual A
{
14 struct D
: public B
, public C
{
23 // Check cases where we have a virtual function that is pure in one
24 // subobject but not pure in another subobject.
25 namespace PartlyPure
{
27 virtual void f() = 0; // expected-note{{unimplemented pure virtual method}}
34 struct C
: virtual A
{ };
39 (void) new D
; // expected-error{{abstract class}}
43 namespace NonPureAlongOnePath
{
48 struct B
: virtual A
{
52 struct C
: virtual A
{ };
61 namespace NonPureAlongOnePath2
{
69 struct B
: virtual A
{
73 struct C
: virtual A
{ };