================
@@ -409,19 +412,26 @@ bool JSONCompilationDatabase::parse(std::string 
&ErrorMessage) {
       ErrorMessage = "Missing key: \"directory\".";
       return false;
     }
+    SmallString<8> DirectoryStorage;
+    SmallString<128> DirectoryPath(Directory->getValue(DirectoryStorage));
+    if (!BaseDirectory.empty() && !DirectoryPath.empty() &&
+        !llvm::sys::path::is_absolute(DirectoryPath)) {
+      llvm::sys::path::make_absolute(BaseDirectory, DirectoryPath);
+      llvm::sys::path::remove_dots(DirectoryPath);
----------------
ArcsinX wrote:

Do we need to remove `..` also? I.e. pass `/*remove_dot_dot=*/true` like...

https://github.com/llvm/llvm-project/pull/235400
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to