[clang-tools-extra] 7322f2d - [clangd] Use canonical path as resolved path for includes.
Viktoriia Bakalova via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 11 08:36:32 PDT 2023
Author: Viktoriia Bakalova
Date: 2023-07-11T15:36:20Z
New Revision: 7322f2d5ed547f7281af2d79a229f6620b1708ac
URL: https://github.com/llvm/llvm-project/commit/7322f2d5ed547f7281af2d79a229f6620b1708ac
DIFF: https://github.com/llvm/llvm-project/commit/7322f2d5ed547f7281af2d79a229f6620b1708ac.diff
LOG: [clangd] Use canonical path as resolved path for includes.
Differential Revision: https://reviews.llvm.org/D154962
Added:
Modified:
clang-tools-extra/clangd/Headers.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/Headers.cpp b/clang-tools-extra/clangd/Headers.cpp
index f1838931f5a4d2..c3414571170b72 100644
--- a/clang-tools-extra/clangd/Headers.cpp
+++ b/clang-tools-extra/clangd/Headers.cpp
@@ -21,6 +21,7 @@
#include "llvm/Support/Path.h"
#include <cstring>
#include <optional>
+#include <string>
namespace clang {
namespace clangd {
@@ -53,8 +54,9 @@ class IncludeStructure::RecordHeaders : public PPCallbacks {
auto &Inc = Out->MainFileIncludes.back();
Inc.Written =
(IsAngled ? "<" + FileName + ">" : "\"" + FileName + "\"").str();
- Inc.Resolved =
- std::string(File ? File->getFileEntry().tryGetRealPathName() : "");
+ Inc.Resolved = std::string(
+ File ? getCanonicalPath(*File, SM.getFileManager()).value_or("")
+ : "");
Inc.HashOffset = SM.getFileOffset(HashLoc);
Inc.HashLine =
SM.getLineNumber(SM.getFileID(HashLoc), Inc.HashOffset) - 1;
More information about the cfe-commits
mailing list