// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 -Wabstract-vbase-init
static_assert;
;
static_assert;
;
static_assert;
;
static_assert;
C *d = new C; // expected-error {{allocating an object of abstract class type 'C'}}
C c; // expected-error {{variable type 'C' is an abstract class}}
void ; // expected-error {{parameter type 'C' is an abstract class}}
void ; // expected-error {{parameter type 'C' is an abstract class}}
;
void ;
void
C e1; // expected-error {{array of abstract class type 'C'}}
; // expected-error {{array of abstract class type 'C'}}
; // expected-error {{array of abstract class type 'C'}}
void ; // expected-error {{array of abstract class type 'C'}}
void ; // expected-error {{parameter type 'C' is an abstract class}}
typedef void ; // expected-error {{parameter type 'C' is an abstract class}}
void ;
;
// Diagnosing in these cases is prohibitively expensive. We still
// diagnose at the function definition, of course.
;
void ;
void
;
// <rdar://problem/6854087>
;
;
bar x;
// <rdar://problem/6902298>
;
;
void
;
;
// PR5222
// PR5550 - instantiating template didn't track overridden methods
// rdar://problem/8302168
// PR9247: Crash on invalid in clang::Sema::ActOnFinishCXXMemberSpecification
;
;
;
;
;
;
;