[clang] Make PCH's respect any VFS specified. (PR #106577)

Chris B via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 3 17:22:19 PDT 2024


================
@@ -1115,13 +1115,13 @@ void ASTWriter::WriteBlockInfoBlock() {
 }
 
 /// Prepares a path for being written to an AST file by converting it
-/// to an absolute path and removing nested './'s.
+/// to an absolute path and removing nested './'s and '../'s.
 ///
 /// \return \c true if the path was changed.
 static bool cleanPathForOutput(FileManager &FileMgr,
                                SmallVectorImpl<char> &Path) {
   bool Changed = FileMgr.makeAbsolutePath(Path);
-  return Changed | llvm::sys::path::remove_dots(Path);
+  return Changed | llvm::sys::path::remove_dots(Path, true);
----------------
llvm-beanz wrote:

This looks right to me, but it doesn't seem like this is covered in your test. Can you add a test to make sure that we provide a path with `..` in it that needs to get resolved?

https://github.com/llvm/llvm-project/pull/106577


More information about the cfe-commits mailing list