Use standard way to set up OverlayFS
This makes it possible to drop our custom CompilerInvocation::addOverlay functionality (but the rest of the patch that introduced it is still needed with LLVM 13, so it cannot be reverted for now).
This commit is contained in:
parent
c2562c72b1
commit
dbb34a4450
@ -742,8 +742,11 @@ namespace {
|
|||||||
if (!FS.get())
|
if (!FS.get())
|
||||||
llvm::errs() << "Error in modulemap.overlay!\n";
|
llvm::errs() << "Error in modulemap.overlay!\n";
|
||||||
|
|
||||||
// Load virtual modulemap overlay file
|
// Load virtual modulemap overlay file - we set up an OverlayFileSystem
|
||||||
CI.getInvocation().addOverlay(FS);
|
// when calling createFileManager.
|
||||||
|
auto& OverlayVFS =
|
||||||
|
static_cast<llvm::vfs::OverlayFileSystem&>(CI.getVirtualFileSystem());
|
||||||
|
OverlayVFS.pushOverlay(FS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1450,7 +1453,9 @@ namespace {
|
|||||||
return CI.release();
|
return CI.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
CI->createFileManager();
|
IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem> Overlay =
|
||||||
|
new llvm::vfs::OverlayFileSystem(llvm::vfs::getRealFileSystem());
|
||||||
|
CI->createFileManager(Overlay);
|
||||||
clang::CompilerInvocation& Invocation = CI->getInvocation();
|
clang::CompilerInvocation& Invocation = CI->getInvocation();
|
||||||
std::string& PCHFile = Invocation.getPreprocessorOpts().ImplicitPCHInclude;
|
std::string& PCHFile = Invocation.getPreprocessorOpts().ImplicitPCHInclude;
|
||||||
bool InitLang = true, InitTarget = true;
|
bool InitLang = true, InitTarget = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user