* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / constexpr-aggr3.C
blob547dec4c97e0ee45ba8054c7a8947838e616224b
1 // PR c++/67364
2 // { dg-do compile { target c++11 } }
4 template <typename Xn>
5 struct tuple {
6   Xn storage_;
8   constexpr tuple(Xn const& xn)
9     : storage_(xn)
10   { }
12   template <typename ...dummy>
13   constexpr tuple(tuple const& other)
14     : storage_(other.storage_)
15   { }
17   template <typename ...dummy>
18   constexpr tuple(tuple& other)
19     : tuple(const_cast<tuple const&>(other))
20   { }
23 template <typename T>
24 struct wrapper { T value; };
26 template <typename T>
27 constexpr wrapper<T> wrap(T t) { return {t}; }
29 constexpr wrapper<tuple<int>> t = wrap(tuple<int>{2});
30 static_assert(t.value.storage_ == 2, "");