diff options
author | Anders Carlsson <andersca@mac.com> | 2010-10-18 16:24:27 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-10-18 16:24:27 +0000 |
commit | 778ca32c88a1200015cc04a96890f865abc35718 (patch) | |
tree | e6d58957858d255c563d1c08e2186052e57b59f2 /clang/test | |
parent | 1f1f63a698032ee79469038f3d130164748ee98a (diff) | |
download | bcm5719-llvm-778ca32c88a1200015cc04a96890f865abc35718.tar.gz bcm5719-llvm-778ca32c88a1200015cc04a96890f865abc35718.zip |
Implement the first half of [dcl.attr.override]p6.
llvm-svn: 116709
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.override/p6.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.override/p6.cpp b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.override/p6.cpp new file mode 100644 index 00000000000..e3e78c2a17b --- /dev/null +++ b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.override/p6.cpp @@ -0,0 +1,45 @@ +// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s + +namespace Override { + +namespace Test1 { + +struct A { + virtual ~A(); +}; + +struct [[base_check]] B : A { + virtual ~B(); +}; + +} + +namespace Test2 { + +struct A { + virtual void f(); // expected-note {{overridden virtual function is here}} +}; + +struct [[base_check]] B : A { + virtual void f(); // expected-error {{'f' overrides function without being marked 'override'}} +}; + +} + +namespace Test3 { + +struct A { + virtual void f(); // expected-note {{overridden virtual function is here}} +}; + +struct B { + virtual void f(); // expected-note {{overridden virtual function is here}} +}; + +struct [[base_check]] C : A, B { + virtual void f(); // expected-error {{'f' overrides functions without being marked 'override'}} +}; + +} + +} |