summaryrefslogtreecommitdiffstats
path: root/test/CXX/special/class.inhctor/p3.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-04-27 20:15:25 +0000
committerBill Wendling <isanbard@gmail.com>2012-04-27 20:15:25 +0000
commit2cfda26abb2e31a0c8963f46fec8ff99e0c5b828 (patch)
treee99b5fb6b0a05e25a646eefaf21fe492538213c9 /test/CXX/special/class.inhctor/p3.cpp
parent817438a3e37f946b561abfb3aeee379aac236979 (diff)
Merging r155728:
------------------------------------------------------------------------ r155728 | rsmith | 2012-04-27 12:33:05 -0700 (Fri, 27 Apr 2012) | 4 lines PR12224 (sort of): Diagnose inheriting constructor declarations in C++11 mode. We do not support IRGen for these, and get some parts of the semantic analysis wrong. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_31@155731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CXX/special/class.inhctor/p3.cpp')
-rw-r--r--test/CXX/special/class.inhctor/p3.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/CXX/special/class.inhctor/p3.cpp b/test/CXX/special/class.inhctor/p3.cpp
index f71ab16c0f..d7093fb369 100644
--- a/test/CXX/special/class.inhctor/p3.cpp
+++ b/test/CXX/special/class.inhctor/p3.cpp
@@ -5,7 +5,7 @@ struct B1 {
B1(int, int);
};
struct D1 : B1 {
- using B1::B1;
+ using B1::B1; // expected-error {{not supported}}
};
D1 d1a(1), d1b(1, 1);
@@ -15,7 +15,7 @@ struct B2 {
explicit B2(int, int = 0, int = 0);
};
struct D2 : B2 { // expected-note 2 {{candidate constructor}}
- using B2::B2;
+ using B2::B2; // expected-error {{not supported}}
};
D2 d2a(1), d2b(1, 1), d2c(1, 1, 1);
@@ -25,18 +25,18 @@ struct B3 {
B3(void*); // expected-note {{inherited from here}}
};
struct D3 : B3 { // expected-note 2 {{candidate constructor}}
- using B3::B3; // expected-note {{candidate constructor (inherited)}}
+ using B3::B3; // expected-note {{candidate constructor (inherited)}} expected-error {{not supported}}
};
D3 fd3() { return 1; } // expected-error {{no viable conversion}}
template<typename T> struct T1 : B1 {
- using B1::B1;
+ using B1::B1; // expected-error {{not supported}}
};
template<typename T> struct T2 : T1<T> {
- using T1<int>::T1;
+ using T1<int>::T1; // expected-error {{not supported}}
};
template<typename T> struct T3 : T1<int> {
- using T1<T>::T1;
+ using T1<T>::T1; // expected-error {{not supported}}
};
struct U {
friend T1<int>::T1(int);