(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.old-deja/
g++.other/
delete2.C
// { dg-do assemble  }

struct foo {
  operator char*() const;
};

void bar(foo a) {
  delete a; // should be accepted
  delete[] a; // should be accepted
  char b[1];
  delete b; // { dg-warning "deleting array" } expecting pointer type
  // { dg-warning "-Wfree-nonheap-object" "" { target *-*-* } .-1 }
  delete[] b; // { dg-warning "deleting array" } expecting pointer type
  // { dg-warning "-Wfree-nonheap-object" "" { target *-*-* } .-1 }
}