]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/g++.dg/cpp0x/constexpr-aggr3.C
PR c++/92590 - wrong handling of inherited default ctor.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / constexpr-aggr3.C
1 // PR c++/67364
2 // { dg-do compile { target c++11 } }
3
4 template <typename Xn>
5 struct tuple {
6 Xn storage_;
7
8 constexpr tuple(Xn const& xn)
9 : storage_(xn)
10 { }
11
12 template <typename ...dummy>
13 constexpr tuple(tuple const& other)
14 : storage_(other.storage_)
15 { }
16
17 template <typename ...dummy>
18 constexpr tuple(tuple& other)
19 : tuple(const_cast<tuple const&>(other))
20 { }
21 };
22
23 template <typename T>
24 struct wrapper { T value; };
25
26 template <typename T>
27 constexpr wrapper<T> wrap(T t) { return {t}; }
28
29 constexpr wrapper<tuple<int>> t = wrap(tuple<int>{2});
30 static_assert(t.value.storage_ == 2, "");
This page took 0.036869 seconds and 5 git commands to generate.