1// PR c++/54984
2// { dg-do run }
3
4int n = 1;
5
6void* operator new(__SIZE_TYPE__)
7{
8  n = -1;
9  return &n;
10}
11
12template <class T>
13struct Foo
14{
15  Foo()
16  : x(new int)
17  {
18    if (*x != -1)
19      __builtin_abort();
20  }
21
22  int* x;
23};
24
25int main()
26{
27  Foo<float> foo;
28}
29