blob: fd1ec0120a71ae6ad280dc25a4256d8898484e88 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Anders Carlssone30572a2009-09-10 23:18:36 +00002struct T {
3 void f();
4};
5
6struct A {
7 T* operator->(); // expected-note{{candidate function}}
8};
9
10struct B {
11 T* operator->(); // expected-note{{candidate function}}
12};
13
14struct C : A, B {
15};
16
17struct D : A { };
18
Eli Friedmanf43fb722009-11-18 01:28:03 +000019struct E; // expected-note {{forward declaration of 'struct E'}}
20
21void f(C &c, D& d, E& e) {
Anders Carlssone30572a2009-09-10 23:18:36 +000022 c->f(); // expected-error{{use of overloaded operator '->' is ambiguous}}
23 d->f();
Eli Friedmanf43fb722009-11-18 01:28:03 +000024 e->f(); // expected-error{{incomplete definition of type}}
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000025}