6 virtual void Release();
9 int mRefCnt
; // expected-note 2 {{Superclass 'RC1' also has an mRefCnt member}} expected-note 3 {{Superclass 'RC1' has an mRefCnt member}}
12 class RC2
: public RC1
{ // expected-error {{Refcounted record 'RC2' has multiple mRefCnt members}}
14 virtual void AddRef();
15 virtual void Release();
18 int mRefCnt
; // expected-note {{Consider using the _INHERITED macros for AddRef and Release here}}
21 class C2
: public RC1
{};
23 class RC3
: public RC1
{};
25 class RC4
: public RC3
, public C2
{}; // expected-error {{Refcounted record 'RC4' has multiple superclasses with mRefCnt members}}
27 class RC5
: public RC1
{};
29 class RC6
: public C1
, public RC5
{ // expected-error {{Refcounted record 'RC6' has multiple mRefCnt members}}
31 virtual void AddRef();
32 virtual void Release();
35 int mRefCnt
; // expected-note {{Consider using the _INHERITED macros for AddRef and Release here}}
42 virtual void AddRef();
43 virtual void Release();
46 int mRefCnt
; // expected-note {{Superclass 'OtherRC' has an mRefCnt member}}
49 class MultRCSuper
: public RC1
, public OtherRC
{}; // expected-error {{Refcounted record 'MultRCSuper' has multiple superclasses with mRefCnt members}}