- std::auto_ptr<Module> AutoModule( (*I)->releaseModule() );
- Module* aModule = AutoModule.get();
-
- verbose(" Linking in module: " + aModule->getModuleIdentifier());
-
- // Link it in
- if (LinkInModule(aModule))
- return error("Cannot link in module '" +
- aModule->getModuleIdentifier() + "': " + Error);
+ std::string moduleErrorMsg;
+ Module* aModule = *I;
+ if (aModule != NULL) {
+ if (aModule->MaterializeAll(&moduleErrorMsg))
+ return error("Could not load a module: " + moduleErrorMsg);
+
+ verbose(" Linking in module: " + aModule->getModuleIdentifier());
+
+ // Link it in
+ if (LinkInModule(aModule, &moduleErrorMsg))
+ return error("Cannot link in module '" +
+ aModule->getModuleIdentifier() + "': " + moduleErrorMsg);
+ }