[cfe-commits] r112005 - /cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
Argyrios Kyrtzidis
akyrtzi at gmail.com
Tue Aug 24 17:32:15 PDT 2010
Author: akirtzidis
Date: Tue Aug 24 19:32:14 2010
New Revision: 112005
URL: http://llvm.org/viewvc/llvm-project?rev=112005&view=rev
Log:
Use a smart pointer instead of delete.
Modified:
cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=112005&r1=112004&r2=112005&view=diff
==============================================================================
--- cfe/trunk/lib/AST/RecordLayoutBuilder.cpp (original)
+++ cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Tue Aug 24 19:32:14 2010
@@ -588,8 +588,6 @@
NonVirtualSize(0), NonVirtualAlignment(8), PrimaryBase(0),
PrimaryBaseIsVirtual(false), FirstNearlyEmptyVBase(0) { }
- virtual ~RecordLayoutBuilder() { }
-
void Layout(const RecordDecl *D);
void Layout(const CXXRecordDecl *D);
void Layout(const ObjCInterfaceDecl *D);
@@ -671,6 +669,8 @@
void operator=(const RecordLayoutBuilder&); // DO NOT IMPLEMENT
public:
static const CXXMethodDecl *ComputeKeyFunction(const CXXRecordDecl *RD);
+
+ virtual ~RecordLayoutBuilder() { }
};
} // end anonymous namespace
@@ -1513,13 +1513,13 @@
EmptySubobjectMap EmptySubobjects(*this, RD);
// When compiling for Microsoft, use the special MS builder.
- RecordLayoutBuilder *Builder;
+ llvm::OwningPtr<RecordLayoutBuilder> Builder;
switch (Target.getCXXABI()) {
default:
- Builder = new RecordLayoutBuilder(*this, &EmptySubobjects);
+ Builder.reset(new RecordLayoutBuilder(*this, &EmptySubobjects));
break;
case CXXABI_Microsoft:
- Builder = new MSRecordLayoutBuilder(*this, &EmptySubobjects);
+ Builder.reset(new MSRecordLayoutBuilder(*this, &EmptySubobjects));
}
Builder->Layout(RD);
@@ -1544,7 +1544,6 @@
Builder->PrimaryBase,
Builder->PrimaryBaseIsVirtual,
Builder->Bases, Builder->VBases);
- delete Builder;
} else {
RecordLayoutBuilder Builder(*this, /*EmptySubobjects=*/0);
Builder.Layout(D);
More information about the cfe-commits
mailing list