1// { dg-do assemble  }
2
3struct A {
4  int operator ++(); // { dg-error "" } candidates
5  void operator ()(); // { dg-error "" } candidates
6  void operator delete(void*); // { dg-error "" } candidates
7};
8
9struct B {
10  int operator ++(int); // { dg-error "" } candidates
11  void operator ()(); // { dg-error "" } candidates
12  void operator delete(void*); // { dg-error "" } candidates
13  void f();
14};
15
16struct C : public A, public B {
17};
18
19void 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