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