[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to
a single object file. The memory leaks in this version have been fixed. Thanks
Alexey for pointing them out.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
llvm-svn: 195064
diff --git a/llvm/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp b/llvm/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp
index 7ccd254..9786bef 100644
--- a/llvm/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp
+++ b/llvm/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp
@@ -21,11 +21,14 @@
class MCJITTest : public testing::Test, public MCJITTestBase {
protected:
- virtual void SetUp() {
- M.reset(createEmptyModule("<main>"));
- }
+ virtual void SetUp();
};
+// Provide out-of-line definition to prevent weak vtable.
+void MCJITTest::SetUp() {
+ M.reset(createEmptyModule("<main>"));
+}
+
namespace {
// FIXME: Ensure creating an execution engine does not crash when constructed