(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
warn/
pr98413.C
/* PR c++/98413 - ICE on placement new and member pointer
   { dg-do compile }
   { dg-options "-Wall" } */

void* operator new (__SIZE_TYPE__, void *p) { return p; }

struct A { int m; } a;

void fc (int A::*p)
{
  new (&(a.*p)) char;
}

void fi (int A::*p)
{
  new (&(a.*p)) int;
}

void fB (int A::*p)
{
  struct B { int a[2]; };
  new (&(a.*p)) B;            // { dg-warning "\\\[-Wplacement-new" }
}