1/* { dg-do run } */
2
3extern "C" void abort (void);
4inline void *operator new (__SIZE_TYPE__, void *__p) throw () { return __p; }
5
6int __attribute__((noinline))
7foo(void)
8{
9  float f = 0;
10  int *i = new (&f) int (1);
11  return *(int *)&f;
12}
13
14int main()
15{
16  if (foo() != 1)
17    abort ();
18  return 0;
19}
20