1 // RUN: %clang_analyze_cc1 -analyzer-checker=webkit.RefCntblBaseVirtualDtor -verify %s
8 struct Derived
: RefCntblBase
{ };
9 // expected-warning@-1{{Struct 'RefCntblBase' is used as a base of struct 'Derived' but doesn't have virtual destructor}}
11 struct DerivedWithVirtualDtor
: RefCntblBase
{
12 // expected-warning@-1{{Struct 'RefCntblBase' is used as a base of struct 'DerivedWithVirtualDtor' but doesn't have virtual destructor}}
13 virtual ~DerivedWithVirtualDtor() {}
19 struct DerivedClassTmpl
: T
{ };
20 typedef DerivedClassTmpl
<RefCntblBase
> Foo
;
25 struct RandomDerivedClass
: RandomBase
{ };
29 struct FakeRefCntblBase1
{
34 struct Quiet1
: FakeRefCntblBase1
{};
36 struct FakeRefCntblBase2
{
41 struct Quiet2
: FakeRefCntblBase2
{};
43 class FakeRefCntblBase3
{
47 struct Quiet3
: FakeRefCntblBase3
{};
48 struct Quiet4
: private RefCntblBase
{};
49 class Quiet5
: RefCntblBase
{};