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 {
10 collector() = default;
14 struct tuple : collector {
15 tuple() : collector() {}
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();