mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +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:
@@ -142,7 +142,7 @@ class GTEST_API_ TestPartResultArray {
|
||||
// This interface knows how to report a test part result.
|
||||
class TestPartResultReporterInterface {
|
||||
public:
|
||||
virtual ~TestPartResultReporterInterface();
|
||||
virtual ~TestPartResultReporterInterface() {}
|
||||
|
||||
virtual void ReportTestPartResult(const TestPartResult& result) = 0;
|
||||
};
|
||||
|
@@ -910,7 +910,7 @@ class GTEST_API_ TestCase {
|
||||
class Environment {
|
||||
public:
|
||||
// The d'tor is virtual as we need to subclass Environment.
|
||||
virtual ~Environment();
|
||||
virtual ~Environment() {}
|
||||
|
||||
// Override this to define how to set up the environment.
|
||||
virtual void SetUp() {}
|
||||
@@ -928,7 +928,7 @@ class Environment {
|
||||
// the order the corresponding events are fired.
|
||||
class TestEventListener {
|
||||
public:
|
||||
virtual ~TestEventListener();
|
||||
virtual ~TestEventListener() {}
|
||||
|
||||
// Fired before any test activity starts.
|
||||
virtual void OnTestProgramStart(const UnitTest& unit_test) = 0;
|
||||
@@ -980,7 +980,6 @@ class TestEventListener {
|
||||
// comments about each method please see the definition of TestEventListener
|
||||
// above.
|
||||
class EmptyTestEventListener : public TestEventListener {
|
||||
virtual void anchor();
|
||||
public:
|
||||
virtual void OnTestProgramStart(const UnitTest& /*unit_test*/) {}
|
||||
virtual void OnTestIterationStart(const UnitTest& /*unit_test*/,
|
||||
|
@@ -79,7 +79,7 @@ class GTEST_API_ DeathTest {
|
||||
static bool Create(const char* statement, const RE* regex,
|
||||
const char* file, int line, DeathTest** test);
|
||||
DeathTest();
|
||||
virtual ~DeathTest();
|
||||
virtual ~DeathTest() { }
|
||||
|
||||
// A helper class that aborts a death test when it's deleted.
|
||||
class ReturnSentinel {
|
||||
@@ -139,7 +139,7 @@ class GTEST_API_ DeathTest {
|
||||
// Factory interface for death tests. May be mocked out for testing.
|
||||
class DeathTestFactory {
|
||||
public:
|
||||
virtual ~DeathTestFactory();
|
||||
virtual ~DeathTestFactory() { }
|
||||
virtual bool Create(const char* statement, const RE* regex,
|
||||
const char* file, int line, DeathTest** test) = 0;
|
||||
};
|
||||
|
@@ -105,7 +105,6 @@
|
||||
#if !GTEST_NO_LLVM_RAW_OSTREAM
|
||||
namespace llvm {
|
||||
class convertible_fwd_ostream : public std::ostream {
|
||||
virtual void anchor();
|
||||
raw_os_ostream ros_;
|
||||
|
||||
public:
|
||||
@@ -537,7 +536,7 @@ GTEST_API_ TypeId GetTestTypeId();
|
||||
// of a Test object.
|
||||
class TestFactoryBase {
|
||||
public:
|
||||
virtual ~TestFactoryBase();
|
||||
virtual ~TestFactoryBase() {}
|
||||
|
||||
// Creates a test instance to run. The instance is both created and destroyed
|
||||
// within TestInfoImpl::Run()
|
||||
|
@@ -414,7 +414,7 @@ class TestMetaFactory
|
||||
// and calls RegisterTests() on each of them when asked.
|
||||
class ParameterizedTestCaseInfoBase {
|
||||
public:
|
||||
virtual ~ParameterizedTestCaseInfoBase();
|
||||
virtual ~ParameterizedTestCaseInfoBase() {}
|
||||
|
||||
// Base part of test case name for display purposes.
|
||||
virtual const string& GetTestCaseName() const = 0;
|
||||
|
@@ -1116,7 +1116,7 @@ class Notification {
|
||||
// problem.
|
||||
class ThreadWithParamBase {
|
||||
public:
|
||||
virtual ~ThreadWithParamBase();
|
||||
virtual ~ThreadWithParamBase() {}
|
||||
virtual void Run() = 0;
|
||||
};
|
||||
|
||||
@@ -1290,7 +1290,7 @@ typedef GTestMutexLock MutexLock;
|
||||
// ThreadLocalValueHolderBase.
|
||||
class ThreadLocalValueHolderBase {
|
||||
public:
|
||||
virtual ~ThreadLocalValueHolderBase();
|
||||
virtual ~ThreadLocalValueHolderBase() {}
|
||||
};
|
||||
|
||||
// Called by pthread to delete thread-local data stored by
|
||||
|
Reference in New Issue
Block a user