Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / analyzer / out-of-bounds-placement-new.C
blob33872e6ddab4ad6f14f46ba18ecaa63c0a86bff9
1 /* Reduced from pr100244.C.  */
2 inline void *operator new (__SIZE_TYPE__, void *__p) { return __p; }
4 struct int_container {
5   int i;
6   int *addr () { return &i; }
7 };
9 struct int_and_addr {
10   int i;
11   int *addr;
12   int_and_addr () { addr = &i; } /* { dg-warning "overflow" } */
15 int test (int_container ic)
17   int_and_addr *iaddr = new (ic.addr ()) int_and_addr; /* { dg-warning "stack-based buffer overflow" } */
18   return iaddr->i;