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:
Alexey Samsonov
2013-11-18 09:31:53 +00:00
parent 69b2447b6a
commit b21ab43cfc
115 changed files with 153 additions and 501 deletions

View File

@@ -105,12 +105,10 @@ static int gettok() {
/// ExprAST - Base class for all expression nodes.
class ExprAST {
public:
virtual ~ExprAST();
virtual ~ExprAST() {}
virtual Value *Codegen() = 0;
};
ExprAST::~ExprAST() {}
/// NumberExprAST - Expression class for numeric literals like "1.0".
class NumberExprAST : public ExprAST {
double Val;