Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / constexpr-template12.C
bloba9e065320c85fa4e111b00700d24e286130b061d
1 // PR c++/109876
2 // { dg-do compile { target c++11 } }
4 using size_t = decltype(sizeof 0);
6 namespace std {
7 template <class> struct initializer_list {
8   const int *_M_array;
9   size_t _M_len;
10   constexpr size_t size() const { return _M_len; }
12 } // namespace std
14 constexpr std::initializer_list<int> gnum{2};
16 template <int> struct Array {};
17 template <int> void g()
19   static constexpr std::initializer_list<int> num{2};
20   static_assert(num.size(), "");
21   Array<num.size()> ctx;
23   constexpr Array<1> num1{};
26 template <int N>
27 struct Foo
29   static constexpr std::initializer_list<int> num = { 1, 2 };
30   static_assert(num.size(), "");
31   Array<num.size()> ctx;
34 void
35 f (Foo<5>)
37   g<0>();