Files
gcc-reflection/gcc/testsuite/g++.dg/cpp1y/constexpr-array1.C
Jason Merrill 3b9997bbaf re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
	* constexpr.c (cxx_eval_array_reference): Handle sparse
	CONSTRUCTORs.

From-SVN: r226830
2015-08-12 14:02:43 -04:00

21 lines
455 B
C

// PR c++/67104
// { dg-do compile { target c++14 } }
template <typename T, int N> struct array
{
constexpr T &operator[](int index) { return data[index]; }
constexpr T operator[](int index) const { return data[index]; }
T data[N];
};
constexpr array<long unsigned, 1001>
make_bottle_count ()
{
array<long unsigned, 1001> a{};
a[65] = 1;
return a;
}
constexpr auto bottle_count = make_bottle_count ();
static_assert (bottle_count[65], "");