forked from OSchip/llvm-project
parent
06f5223621
commit
b4801436d1
|
@ -1,11 +1,20 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -std=c++0x -verify %s
|
||||
struct A {
|
||||
|
||||
struct Base1 {
|
||||
virtual void g();
|
||||
};
|
||||
|
||||
struct A : Base1 {
|
||||
virtual void f() new new; // expected-error {{class member already marked 'new'}}
|
||||
virtual void g() override override; // expected-error {{class member already marked 'override'}}
|
||||
virtual void h() final final; // expected-error {{class member already marked 'final'}}
|
||||
};
|
||||
|
||||
struct B {
|
||||
struct Base2 {
|
||||
virtual void f();
|
||||
};
|
||||
|
||||
struct B : Base2 {
|
||||
virtual void f() override;
|
||||
void g() override; // expected-error {{only virtual member functions can be marked 'override'}}
|
||||
int h override; // expected-error {{only virtual member functions can be marked 'override'}}
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++0x %s
|
||||
struct S {
|
||||
|
||||
struct Base {
|
||||
virtual void override();
|
||||
};
|
||||
|
||||
struct S : Base {
|
||||
virtual void final() final;
|
||||
virtual void override() override;
|
||||
virtual void n() new;
|
||||
|
@ -9,10 +14,15 @@ struct S {
|
|||
|
||||
struct T {
|
||||
// virt-specifier-seq is only valid in member-declarators, and a function definition is not a member-declarator.
|
||||
virtual void f() const override { } // expected-error {{expected ';' at end of declaration list}}
|
||||
// FIXME: This currently doesn't work.
|
||||
// virtual void f() const override { }
|
||||
};
|
||||
|
||||
struct override;
|
||||
struct A {
|
||||
virtual override override(int override) override;
|
||||
struct Base2 {
|
||||
virtual override override(int override);
|
||||
};
|
||||
|
||||
struct A : Base2 {
|
||||
virtual struct override override(int override) override;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue