diff --git a/llvm/lib/VMCore/ModuleProvider.cpp b/llvm/lib/VMCore/ModuleProvider.cpp index 52c30cd131188e7f8dcf14ae0f6a7480c8e247f3..9a3eb168d9654b9eecdc1d15905869db712775cf 100644 --- a/llvm/lib/VMCore/ModuleProvider.cpp +++ b/llvm/lib/VMCore/ModuleProvider.cpp @@ -9,20 +9,20 @@ /// ctor - always have a valid Module /// -AbstractModuleProvider::AbstractModuleProvider() { - M = new Module(""); -} +AbstractModuleProvider::AbstractModuleProvider() : TheModule(0) { } /// dtor - when we leave, we take our Module with us /// AbstractModuleProvider::~AbstractModuleProvider() { - delete M; + delete TheModule; } /// materializeFunction - make sure the given function is fully read. /// void AbstractModuleProvider::materializeModule() { - for (Module::iterator i = M->begin(), e = M->end(); i != e; ++i) { + if (!TheModule) return; + + for (Module::iterator i = TheModule->begin(), e = TheModule->end(); + i != e; ++i) materializeFunction(i); - } }