1 // RUN: %clang_cc1 -fsyntax-only -verify %s
6 class B2
: virtual A
{ };
8 class B3
: virtual virtual A
{ }; // expected-error{{duplicate 'virtual' in base specifier}}
10 class C
: public B1
, private B2
{ };
13 class D
; // expected-note {{forward declaration of 'D'}}
15 class E
: public D
{ }; // expected-error{{base class has incomplete type}}
19 class F
: public I
{ }; // expected-error{{base specifier must name a class}}
21 union U1
: public A
{ }; // expected-error{{unions cannot have base classes}}
25 class G
: public U2
{ }; // expected-error{{unions cannot be base classes}}
29 typedef G_copy G_copy_3
;
31 class H
: G_copy
, A
, G_copy_2
, // expected-error{{base class 'G_copy' (aka 'G') specified more than once as a direct base class}}
32 public G_copy_3
{ }; // expected-error{{base class 'G_copy' (aka 'G') specified more than once as a direct base class}}
34 struct J
{ char c
; int i
[]; };
35 struct K
: J
{ }; // expected-error{{base class 'J' has a flexible array member}}