// RUN: %clang_analyze_cc1 -analyzer-checker=webkit.RefCntblBaseVirtualDtor -verify %s

struct RefCntblBase {
  void ref() {}
  void deref() {}
};

struct Derived : RefCntblBase { };
// expected-warning@-1{{Struct 'RefCntblBase' is used as a base of struct 'Derived' but doesn't have virtual destructor}}

struct DerivedWithVirtualDtor : RefCntblBase {
// expected-warning@-1{{Struct 'RefCntblBase' is used as a base of struct 'DerivedWithVirtualDtor' but doesn't have virtual destructor}}
  virtual ~DerivedWithVirtualDtor() {}
};



template<class T>
struct DerivedClassTmpl : T { };
typedef DerivedClassTmpl<RefCntblBase> Foo;



struct RandomBase {};
struct RandomDerivedClass : RandomBase { };



struct FakeRefCntblBase1 {
  private:
  void ref() {}
  void deref() {}
};
struct Quiet1 : FakeRefCntblBase1 {};

struct FakeRefCntblBase2 {
  protected:
  void ref() {}
  void deref() {}
};
struct Quiet2 : FakeRefCntblBase2 {};

class FakeRefCntblBase3 {
  void ref() {}
  void deref() {}
};
struct Quiet3 : FakeRefCntblBase3 {};
struct Quiet4 : private RefCntblBase {};
class Quiet5 : RefCntblBase {};

void foo () {
  Derived d;
}
