aboutsummaryrefslogtreecommitdiff
path: root/test/CXX/class.derived/class.virtual/p3-0x.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-01-20 06:33:26 +0000
committerAnders Carlsson <andersca@mac.com>2011-01-20 06:33:26 +0000
commit3ffe183448af7c543a208dd3313a49c83a3ad53e (patch)
treea665657019ad6f7a2e48d238e8783bb1ee7fb729 /test/CXX/class.derived/class.virtual/p3-0x.cpp
parent4ebf1605166e0b6cc967a51429949a0722f79665 (diff)
When checking for functions marked override, ignore dependent contexts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123894 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CXX/class.derived/class.virtual/p3-0x.cpp')
-rw-r--r--test/CXX/class.derived/class.virtual/p3-0x.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CXX/class.derived/class.virtual/p3-0x.cpp b/test/CXX/class.derived/class.virtual/p3-0x.cpp
index 83f1eb0439..773b9f6077 100644
--- a/test/CXX/class.derived/class.virtual/p3-0x.cpp
+++ b/test/CXX/class.derived/class.virtual/p3-0x.cpp
@@ -1,5 +1,7 @@
// RUN: %clang_cc1 -fsyntax-only -std=c++0x -verify %s
+namespace Test1 {
+
struct B {
virtual void f(int);
};
@@ -8,3 +10,17 @@ struct D : B {
virtual void f(long) override; // expected-error {{'f' marked 'override' but does not override any member functions}}
void f(int) override;
};
+}
+
+namespace Test2 {
+
+struct A {
+ virtual void f(int, char, int);
+};
+
+template<typename T>
+struct B : A {
+ virtual void f(T) override;
+};
+
+}