summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp')
-rw-r--r--llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp b/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
index 0c8c4ca16dd..a74e05e7b24 100644
--- a/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
+++ b/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
@@ -13,9 +13,12 @@
namespace llvm {
struct VirtualRefCounted : public RefCountedBaseVPTR {
- virtual void f() {}
+ virtual void f();
};
+// Provide out-of-line definition to prevent weak vtable.
+void VirtualRefCounted::f() {}
+
// Run this test with valgrind to detect memory leaks.
TEST(IntrusiveRefCntPtr, RefCountedBaseVPTRCopyDoesNotLeak) {
VirtualRefCounted *V1 = new VirtualRefCounted;
OpenPOWER on IntegriCloud