c++: hash table ICE with variadic alias [PR105003]
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / initlist-base4.C
blob4a02af92799982f7d43d702aeaec04a350560b64
1 // PR c++/65816
2 // { dg-do run { target c++11 } }
4 void* operator new(decltype(sizeof(int)), void* ptr) { return ptr; }
6 struct item { int i; };
8 struct collector : item {
9   int j;
10   collector() = default;
11   collector(int) {}
14 struct tuple : collector {
15   tuple() : collector() {}
18 int main() {
19   alignas(tuple) unsigned char space[sizeof(tuple)];
20   for (auto& c : space) c = 0xff;
22   auto ptr = ::new(&space) tuple;
23   int& i = static_cast<tuple&>(*ptr).i;
24   int& j = static_cast<tuple&>(*ptr).j;
25   if (i != 0 || j != 0) __builtin_abort();