summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2014-12-18 19:19:00 +0000
committerHans Wennborg <hans@hanshq.net>2014-12-18 19:19:00 +0000
commit2b0d0148342090b44a637c5b9f63a3ceda8e351c (patch)
tree5f1cb21ace5024cdb4648cf73d8d2ce858d77f83 /clang/lib/CodeGen/ModuleBuilder.cpp
parent76d629744b6fc954720e3eb20a1966a56904f4e8 (diff)
downloadbcm5719-llvm-2b0d0148342090b44a637c5b9f63a3ceda8e351c.tar.gz
bcm5719-llvm-2b0d0148342090b44a637c5b9f63a3ceda8e351c.zip
ModuleBuilder: assert that all deferred inline method defs get handled
While we're here, also move the declaration of DeferredInlineMethodDefinitions closer to the other member vars and make it a SmallVector. NFC. llvm-svn: 224533
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
-rw-r--r--clang/lib/CodeGen/ModuleBuilder.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp
index ee6f6f94c71..bf89a2f0325 100644
--- a/clang/lib/CodeGen/ModuleBuilder.cpp
+++ b/clang/lib/CodeGen/ModuleBuilder.cpp
@@ -52,6 +52,9 @@ namespace {
std::unique_ptr<llvm::Module> M;
std::unique_ptr<CodeGen::CodeGenModule> Builder;
+ private:
+ SmallVector<CXXMethodDecl *, 8> DeferredInlineMethodDefinitions;
+
public:
CodeGeneratorImpl(DiagnosticsEngine &diags, const std::string& ModuleName,
const CodeGenOptions &CGO, llvm::LLVMContext& C,
@@ -60,7 +63,10 @@ namespace {
CoverageInfo(CoverageInfo),
M(new llvm::Module(ModuleName, C)) {}
- virtual ~CodeGeneratorImpl() {}
+ virtual ~CodeGeneratorImpl() {
+ assert(DeferredInlineMethodDefinitions.empty() &&
+ "Leftover inline method definitions!");
+ }
llvm::Module* GetModule() override {
return M.get();
@@ -223,9 +229,6 @@ namespace {
void HandleDependentLibrary(llvm::StringRef Lib) override {
Builder->AddDependentLib(Lib);
}
-
- private:
- std::vector<CXXMethodDecl *> DeferredInlineMethodDefinitions;
};
}
OpenPOWER on IntegriCloud