* No longer initialize the module, a subclass is more suitable to do this
authorMisha Brukman <brukman+llvm@gmail.com>
Mon, 22 Sep 2003 23:44:13 +0000 (23:44 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Mon, 22 Sep 2003 23:44:13 +0000 (23:44 +0000)
  because it can add a module ID which we do not have at this time.
* Check to see if the module has been initialized when materializing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8674 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ModuleProvider.cpp

index 52c30cd131188e7f8dcf14ae0f6a7480c8e247f3..9a3eb168d9654b9eecdc1d15905869db712775cf 100644 (file)
@@ -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);
-  }
 }