summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-10-17 22:47:44 +0000
committerAnders Carlsson <andersca@mac.com>2010-10-17 22:47:44 +0000
commitfa9de26518adaeb2e8d8a852c424403d84c33f53 (patch)
tree7ca9dd9a282796566aae3c25be770486f992e805 /clang/test
parentdd36defda7a1feb8f60478810adc897e7a15c00b (diff)
downloadbcm5719-llvm-fa9de26518adaeb2e8d8a852c424403d84c33f53.tar.gz
bcm5719-llvm-fa9de26518adaeb2e8d8a852c424403d84c33f53.zip
Add test for [dcl.attr.final]p4.
llvm-svn: 116691
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.final/p4.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.final/p4.cpp b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.final/p4.cpp
new file mode 100644
index 00000000000..cac362409a8
--- /dev/null
+++ b/clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.final/p4.cpp
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
+
+struct B1 {
+ [[final]] virtual void f(); // expected-note {{overridden virtual function is here}}
+};
+
+struct D1 : B1 {
+ void f(); // expected-error {{declaration of 'f' overrides a 'final' function}}
+};
+
+struct [[final]] B2 { // expected-note {{'B2' declared here}}
+};
+
+struct D2 : B2 { // expected-error {{derivation from 'final' struct B2}}
+};
OpenPOWER on IntegriCloud