// PR c++/49216 | |
// { dg-do run { target c++11 } } | |
#include <initializer_list> | |
extern "C" void abort(); | |
void * operator new[] (__SIZE_TYPE__, void *p) { return p; } | |
bool constructed; | |
struct A | |
{ | |
A(std::initializer_list<int>) { constructed = true; } | |
}; | |
int main() { | |
new A[1]{}; | |
int space[1] = { 42 }; | |
int *p = new (space) int[1]{}; | |
if (p[0] != 0 || !constructed) | |
abort(); | |
} |