[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