kext4.C   [plain text]


/* APPLE LOCAL file KEXT double destructor */
/* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
/* { dg-options "-fapple-kext" } */
/* { dg-require-effective-target ilp32 } */
/* test for use of apple_kext_compatibility on stack */
struct B1 {
  virtual ~B1();
} __attribute__((apple_kext_compatibility));

struct D1 : B1 {
  void operator delete(void *) { }
  D1();
};

struct D2 : B1 {
  void operator delete(void *);
  D2();
};

struct D3 : B1 {
  D3();
};

void foo() {
  D1 d1;			// ok
  D2 d2;			// { dg-warning "is an instance of a class" }
  D3 d3;			// { dg-warning "is an instance of a class" }
}