summaryrefslogtreecommitdiff
path: root/unittests/IR
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-03-04 12:46:06 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-03-04 12:46:06 +0000
commit8f124fe88409b444fc3139b38423e3a61d4095dd (patch)
treef6ee25edcc2efea63936a9c8e69ae60b0203cb1f /unittests/IR
parent11d95df9b000c83456d7d147d800590f99242ace (diff)
downloadllvm-8f124fe88409b444fc3139b38423e3a61d4095dd.tar.gz
llvm-8f124fe88409b444fc3139b38423e3a61d4095dd.tar.bz2
llvm-8f124fe88409b444fc3139b38423e3a61d4095dd.tar.xz
[Modules] Move the LeakDetector header into the IR library where the
source file had already been moved. Also move the unittest into the IR unittest library. This may seem an odd thing to put in the IR library but we only really use this with instructions and it needs the LLVM context to work, so it is intrinsically tied to the IR library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202842 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/IR')
-rw-r--r--unittests/IR/CMakeLists.txt1
-rw-r--r--unittests/IR/LeakDetectorTest.cpp31
2 files changed, 32 insertions, 0 deletions
diff --git a/unittests/IR/CMakeLists.txt b/unittests/IR/CMakeLists.txt
index e1c295d0be..7368a24051 100644
--- a/unittests/IR/CMakeLists.txt
+++ b/unittests/IR/CMakeLists.txt
@@ -13,6 +13,7 @@ set(IRSources
DominatorTreeTest.cpp
IRBuilderTest.cpp
InstructionsTest.cpp
+ LeakDetectorTest.cpp
LegacyPassManagerTest.cpp
MDBuilderTest.cpp
MetadataTest.cpp
diff --git a/unittests/IR/LeakDetectorTest.cpp b/unittests/IR/LeakDetectorTest.cpp
new file mode 100644
index 0000000000..94eed4c143
--- /dev/null
+++ b/unittests/IR/LeakDetectorTest.cpp
@@ -0,0 +1,31 @@
+//===- LeakDetectorTest.cpp -----------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/IR/LeakDetector.h"
+#include "gtest/gtest.h"
+
+using namespace llvm;
+
+namespace {
+
+#ifdef GTEST_HAS_DEATH_TEST
+#ifndef NDEBUG
+TEST(LeakDetector, Death1) {
+ LeakDetector::addGarbageObject((void*) 1);
+ LeakDetector::addGarbageObject((void*) 2);
+
+ EXPECT_DEATH(LeakDetector::addGarbageObject((void*) 1),
+ ".*Ts.count\\(o\\) == 0 && \"Object already in set!\"");
+ EXPECT_DEATH(LeakDetector::addGarbageObject((void*) 2),
+ "Cache != o && \"Object already in set!\"");
+}
+#endif
+#endif
+
+}