1 // { dg-do assemble  }
2 
3 struct A {
4   int operator ++(); // { dg-message "" } candidates
5   void operator ()(); // { dg-message "" } candidates
6   void operator delete(void*); // { dg-message "" } candidates
7 };
8 
9 struct B {
10   int operator ++(int); // { dg-message "" } candidates
11   void operator ()(); // { dg-message "" } candidates
12   void operator delete(void*); // { dg-message "" } candidates
13   void f();
14 };
15 
16 struct C : public A, public B {
17 };
18 
f()19 void f()
20 {
21   C c;
22   C* cp;
23 
24   delete cp; // { dg-error "" } ambiguous
25   c(); // { dg-error "" } ambiguous
26   c++; // { dg-error "" } ambiguous
27 }
28 
29