summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/pr50025.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/pr50025.C')
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr50025.C40
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr50025.C b/gcc/testsuite/g++.dg/cpp0x/pr50025.C
new file mode 100644
index 0000000000..1f7d8d566b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr50025.C
@@ -0,0 +1,40 @@
+// { dg-do compile { target c++11 } }
+
+#include <utility>
+
+class A
+{
+public:
+
+ A(int a, int& b, int&& c)
+ : m_a{a},
+ m_b{b},
+ m_c{std::move(c)}
+ {}
+
+private:
+
+ int m_a;
+ int& m_b;
+ int&& m_c;
+};
+
+
+struct X {};
+
+class B
+{
+public:
+
+ B(X& q, X&& r, const X& s)
+ : m_q{q},
+ m_r{std::move(r)},
+ m_s{s}
+ {}
+
+private:
+
+ X& m_q;
+ X&& m_r;
+ const X& m_s;
+};