================
@@ -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