[clang] c7fe2f7 - [clang] Reuse configured VFS for chained includes (#173288)

via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 5 12:25:13 PST 2026


Author: Jan Svoboda
Date: 2026-01-05T20:25:09Z
New Revision: c7fe2f7a301b217ff6cfda70df06a6fc283c932e

URL: https://github.com/llvm/llvm-project/commit/c7fe2f7a301b217ff6cfda70df06a6fc283c932e
DIFF: https://github.com/llvm/llvm-project/commit/c7fe2f7a301b217ff6cfda70df06a6fc283c932e.diff

LOG: [clang] Reuse configured VFS for chained includes (#173288)

This PR propagates the already-configured VFS when handling chained
includes, preventing unexpected use of the real FS and sandbox
violations.

Added: 
    

Modified: 
    clang/lib/Frontend/ChainedIncludesSource.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Frontend/ChainedIncludesSource.cpp b/clang/lib/Frontend/ChainedIncludesSource.cpp
index 049277c2df7a9..2338698cee9d1 100644
--- a/clang/lib/Frontend/ChainedIncludesSource.cpp
+++ b/clang/lib/Frontend/ChainedIncludesSource.cpp
@@ -124,7 +124,9 @@ clang::createChainedIncludesSource(CompilerInstance &CI,
 
     auto Clang = std::make_unique<CompilerInstance>(
         std::move(CInvok), CI.getPCHContainerOperations());
-    Clang->createVirtualFileSystem();
+    // Inherit the VFS as-is: code below does not make changes to the VFS or to
+    // the VFS-affecting options.
+    Clang->setVirtualFileSystem(CI.getVirtualFileSystemPtr());
     Clang->setDiagnostics(Diags);
     Clang->setTarget(TargetInfo::CreateTargetInfo(
         Clang->getDiagnostics(), Clang->getInvocation().getTargetOpts()));


        


More information about the cfe-commits mailing list