diff options
author | Anders Carlsson <andersca@mac.com> | 2011-01-20 05:55:43 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-01-20 05:55:43 +0000 |
commit | c7119a871df4d2d79db3e48fc9d0ab421be54a3d (patch) | |
tree | 4079c88af195dfa2e271dcbb52cc29e08ac71c6d | |
parent | c0534b6cdc414aa86ef7e9ab37f7a81a79140f02 (diff) |
Fix tests to be valid.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123887 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CXX/class/class.mem/p8-0x.cpp | 13 | ||||
-rw-r--r-- | test/Parser/cxx0x-override-control-keywords.cpp | 18 |
2 files changed, 25 insertions, 6 deletions
diff --git a/test/CXX/class/class.mem/p8-0x.cpp b/test/CXX/class/class.mem/p8-0x.cpp index db8aeace64..ce676ae6ff 100644 --- a/test/CXX/class/class.mem/p8-0x.cpp +++ b/test/CXX/class/class.mem/p8-0x.cpp @@ -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'}} diff --git a/test/Parser/cxx0x-override-control-keywords.cpp b/test/Parser/cxx0x-override-control-keywords.cpp index 35f0fe623a..f959f7a995 100644 --- a/test/Parser/cxx0x-override-control-keywords.cpp +++ b/test/Parser/cxx0x-override-control-keywords.cpp @@ -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; }; |