mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Revert r194865 and r194874.
This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194997 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -83,8 +83,14 @@ protected:
|
||||
UnsupportedOSs.push_back(Triple::Cygwin);
|
||||
}
|
||||
|
||||
virtual void SetUp();
|
||||
|
||||
virtual void SetUp() {
|
||||
didCallAllocateCodeSection = false;
|
||||
Module = 0;
|
||||
Function = 0;
|
||||
Engine = 0;
|
||||
Error = 0;
|
||||
}
|
||||
|
||||
virtual void TearDown() {
|
||||
if (Engine)
|
||||
LLVMDisposeExecutionEngine(Engine);
|
||||
@@ -151,14 +157,6 @@ protected:
|
||||
char *Error;
|
||||
};
|
||||
|
||||
void MCJITCAPITest::SetUp() {
|
||||
didCallAllocateCodeSection = false;
|
||||
Module = 0;
|
||||
Function = 0;
|
||||
Engine = 0;
|
||||
Error = 0;
|
||||
}
|
||||
|
||||
TEST_F(MCJITCAPITest, simple_function) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
|
@@ -18,13 +18,7 @@
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
class MCJITMultipleModuleTest : public testing::Test,
|
||||
public MCJITTestBase {
|
||||
public:
|
||||
virtual ~MCJITMultipleModuleTest();
|
||||
};
|
||||
|
||||
MCJITMultipleModuleTest::~MCJITMultipleModuleTest() {}
|
||||
class MCJITMultipleModuleTest : public testing::Test, public MCJITTestBase {};
|
||||
|
||||
namespace {
|
||||
|
||||
|
@@ -21,13 +21,11 @@ using namespace llvm;
|
||||
class MCJITTest : public testing::Test, public MCJITTestBase {
|
||||
protected:
|
||||
|
||||
virtual void SetUp();
|
||||
virtual void SetUp() {
|
||||
M.reset(createEmptyModule("<main>"));
|
||||
}
|
||||
};
|
||||
|
||||
void MCJITTest::SetUp() {
|
||||
M.reset(createEmptyModule("<main>"));
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
// FIXME: Ensure creating an execution engine does not crash when constructed
|
||||
|
Reference in New Issue
Block a user