23 lines
567 B
C++
23 lines
567 B
C++
// RUN: %clang_analyze_cc1 -analyzer-checker=webkit.NoUncountedMemberChecker -verify %s
|
|
|
|
#include "mock-types.h"
|
|
|
|
class RefCountedBase {
|
|
public:
|
|
void ref() const { }
|
|
};
|
|
|
|
template<typename T> class RefCounted : public RefCountedBase {
|
|
public:
|
|
virtual ~RefCounted() { }
|
|
void deref() const { }
|
|
};
|
|
|
|
class TreeNode : public RefCounted<TreeNode> {
|
|
public:
|
|
void setParent(TreeNode& parent) { m_parent = &parent; }
|
|
|
|
private:
|
|
TreeNode* m_parent;
|
|
// expected-warning@-1{{Member variable 'm_parent' in 'TreeNode' is a raw pointer to ref-countable type 'TreeNode'}}
|
|
};
|