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