From c7119a871df4d2d79db3e48fc9d0ab421be54a3d Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Thu, 20 Jan 2011 05:55:43 +0000 Subject: [PATCH] Fix tests to be valid. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123887 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CXX/class/class.mem/p8-0x.cpp | 13 +++++++++++-- .../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; }; -- 2.50.1