Skip to content
Snippets Groups Projects
Commit b518c25b authored by Argyrios Kyrtzidis's avatar Argyrios Kyrtzidis
Browse files

If a class inherits from RefCountedBaseVPTR allow all its subclasses to be...

If a class inherits from RefCountedBaseVPTR allow all its subclasses to be used with IntrusiveRefCntPtr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127966 91177308-0d34-0410-b5e6-96231b3b80d8
parent 682eed0d
No related branches found
No related tags found
No related merge requests found
......@@ -64,7 +64,6 @@ namespace llvm {
/// inherit from RefCountedBaseVPTR can't be allocated on stack -
/// attempting to do this will produce a compile error.
//===----------------------------------------------------------------------===//
template <class Derived>
class RefCountedBaseVPTR {
unsigned ref_cnt;
......@@ -78,7 +77,8 @@ namespace llvm {
if (--ref_cnt == 0) delete this;
}
friend class IntrusiveRefCntPtr<Derived>;
template <typename T>
friend class IntrusiveRefCntPtr;
};
//===----------------------------------------------------------------------===//
......
......@@ -40,7 +40,7 @@ namespace llvmc {
};
/// Edge - Represents an edge of the compilation graph.
class Edge : public llvm::RefCountedBaseVPTR<Edge> {
class Edge : public llvm::RefCountedBaseVPTR {
public:
Edge(const std::string& T) : ToolName_(T) {}
virtual ~Edge() {}
......
......@@ -33,7 +33,7 @@ namespace llvmc {
typedef llvm::StringSet<> InputLanguagesSet;
/// Tool - Represents a single tool.
class Tool : public llvm::RefCountedBaseVPTR<Tool> {
class Tool : public llvm::RefCountedBaseVPTR {
public:
virtual ~Tool() {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment