1*f4a2713aSLionel Sambuc struct Base1 { 2*f4a2713aSLionel Sambuc int member1; 3*f4a2713aSLionel Sambuc float member2; 4*f4a2713aSLionel Sambuc }; 5*f4a2713aSLionel Sambuc 6*f4a2713aSLionel Sambuc struct Base2 { 7*f4a2713aSLionel Sambuc int member1; 8*f4a2713aSLionel Sambuc double member3; 9*f4a2713aSLionel Sambuc void memfun1(int); 10*f4a2713aSLionel Sambuc }; 11*f4a2713aSLionel Sambuc 12*f4a2713aSLionel Sambuc struct Base3 : Base1, Base2 { 13*f4a2713aSLionel Sambuc void memfun1(float); 14*f4a2713aSLionel Sambuc void memfun1(double) const; 15*f4a2713aSLionel Sambuc void memfun2(int); 16*f4a2713aSLionel Sambuc }; 17*f4a2713aSLionel Sambuc 18*f4a2713aSLionel Sambuc struct Derived : Base3 { 19*f4a2713aSLionel Sambuc int member4; 20*f4a2713aSLionel Sambuc int memfun3(int); 21*f4a2713aSLionel Sambuc }; 22*f4a2713aSLionel Sambuc 23*f4a2713aSLionel Sambuc class Proxy { 24*f4a2713aSLionel Sambuc public: 25*f4a2713aSLionel Sambuc Derived *operator->() const; 26*f4a2713aSLionel Sambuc }; 27*f4a2713aSLionel Sambuc test(const Proxy & p)28*f4a2713aSLionel Sambucvoid test(const Proxy &p) { 29*f4a2713aSLionel Sambuc p-> 30*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:29:6 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s 31*f4a2713aSLionel Sambuc // CHECK-CC1: Base1 : Base1:: 32*f4a2713aSLionel Sambuc // CHECK-CC1: member1 : [#int#][#Base1::#]member1 33*f4a2713aSLionel Sambuc // CHECK-CC1: member1 : [#int#][#Base2::#]member1 34*f4a2713aSLionel Sambuc // CHECK-CC1: member2 : [#float#][#Base1::#]member2 35*f4a2713aSLionel Sambuc // CHECK-CC1: member3 36*f4a2713aSLionel Sambuc // CHECK-CC1: member4 37*f4a2713aSLionel Sambuc // CHECK-CC1: memfun1 : [#void#][#Base3::#]memfun1(<#float#>) 38*f4a2713aSLionel Sambuc // CHECK-CC1: memfun1 : [#void#][#Base3::#]memfun1(<#double#>)[# const#] 39*f4a2713aSLionel Sambuc // CHECK-CC1: memfun1 (Hidden) : [#void#]Base2::memfun1(<#int#>) 40*f4a2713aSLionel Sambuc // CHECK-CC1: memfun2 : [#void#][#Base3::#]memfun2(<#int#>) 41*f4a2713aSLionel Sambuc // CHECK-CC1: memfun3 : [#int#]memfun3(<#int#>) 42*f4a2713aSLionel Sambuc 43