- // Now, load the bytecode module to get the ModuleProvider
- std::string FullMemberName = archPath.toString() + "(" +
- mbr->getPath().toString() + ")";
- ModuleProvider* mp = getBytecodeBufferModuleProvider(
- (const unsigned char*) mbr->getData(), mbr->getSize(),
- FullMemberName, 0);
+ // Now, load the bitcode module to get the Module.
+ std::string FullMemberName = archPath.str() + "(" +
+ mbr->getPath().str() + ")";
+ MemoryBuffer *Buffer =
+ MemoryBuffer::getMemBufferCopy(StringRef(mbr->getData(), mbr->getSize()),
+ FullMemberName.c_str());
+
+ Module *m = getLazyBitcodeModule(Buffer, Context, ErrMsg);
+ if (!m)
+ return 0;