// PR c++/33407 // { dg-do run } // { dg-options "-O2 -fstrict-aliasing" } extern "C" void * malloc(__SIZE_TYPE__); extern "C" void abort(void); void *p; void __attribute__((noinline)) init(void) { p = malloc(4); } inline void *operator new(__SIZE_TYPE__) { return p; } inline void operator delete (void*) {} int * __attribute__((noinline)) doit(int n) { float *q; int *r; for (int i=0; i