From 3f610c75de545d04cf016465f497ce9ae5ca9af6 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Thu, 20 Jan 2011 16:25:36 +0000 Subject: Diagnose when a virtual member function marked final is overridden. llvm-svn: 123916 --- clang/test/CXX/class.derived/class.virtual/p3-0x.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'clang/test/CXX/class.derived/class.virtual/p3-0x.cpp') diff --git a/clang/test/CXX/class.derived/class.virtual/p3-0x.cpp b/clang/test/CXX/class.derived/class.virtual/p3-0x.cpp index d49d06cbddb..4bd9efda1f6 100644 --- a/clang/test/CXX/class.derived/class.virtual/p3-0x.cpp +++ b/clang/test/CXX/class.derived/class.virtual/p3-0x.cpp @@ -40,3 +40,14 @@ template struct B; template struct B; // expected-note {{in instantiation of template class 'Test3::B' requested here}} } + +namespace Test4 { +struct B { + virtual void f() const final; // expected-note {{overridden virtual function is here}} +}; + +struct D : B { + void f() const; // expected-error {{declaration of 'f' overrides a 'final' function}} +}; + +} -- cgit v1.2.3