diff --git a/clang-tools-extra/clangd/Headers.cpp b/clang-tools-extra/clangd/Headers.cpp index f1838931f5a4d..c3414571170b7 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 #include +#include 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;