aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2013-02-12 20:43:41 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2013-02-12 20:43:41 +0000
commitddf117e1e4e53e8bcd505afda0c4e68baff086c2 (patch)
tree249c6dba903afaf37f9ec27925bd3a354d482c54
parent89a0daa0ec1fbc43489e3bb9e9648c816258f00f (diff)
Add a test for r174980, that we used to accept
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175005 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CXX/special/class.ctor/p1.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/CXX/special/class.ctor/p1.cpp b/test/CXX/special/class.ctor/p1.cpp
index 23ceebad3b..e19dc86607 100644
--- a/test/CXX/special/class.ctor/p1.cpp
+++ b/test/CXX/special/class.ctor/p1.cpp
@@ -42,6 +42,14 @@ template<typename T> (X1<T>::X1)(double) { }
template<typename T> X1<T> X1<T>::f1(int) { return 0; }
template<typename T> X1<T> (X1<T>::f1)(type) { return 0; }
-class A {
- A::A(); // expected-error{{extra qualification on member 'A'}}
+class X2 {
+ X2::X2(); // expected-error {{extra qualification on member 'X2'}}
};
+
+// We used to parse 'X3::X3' as a member function declaration.
+// DR 1435 and DR 1310 made this invalid.
+typedef int T1;
+struct X3 {
+ X3::X3(T1()); // expected-error {{extra qualification on member 'X3'}}
+};
+