summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/index/Serialization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/index/Serialization.cpp')
-rw-r--r--clang-tools-extra/clangd/index/Serialization.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang-tools-extra/clangd/index/Serialization.cpp b/clang-tools-extra/clangd/index/Serialization.cpp
index 7d02e9c5391..d6b4c9cc04c 100644
--- a/clang-tools-extra/clangd/index/Serialization.cpp
+++ b/clang-tools-extra/clangd/index/Serialization.cpp
@@ -239,7 +239,7 @@ void writeLocation(const SymbolLocation &Loc, const StringTableOut &Strings,
SymbolLocation readLocation(Reader &Data, ArrayRef<StringRef> Strings) {
SymbolLocation Loc;
- Loc.FileURI = Data.consumeString(Strings);
+ Loc.FileURI = Data.consumeString(Strings).data();
for (auto *Endpoint : {&Loc.Start, &Loc.End}) {
Endpoint->setLine(Data.consumeVar());
Endpoint->setColumn(Data.consumeVar());
@@ -409,8 +409,11 @@ void writeRIFF(const IndexFileOut &Data, raw_ostream &OS) {
if (Data.Refs) {
for (const auto &Sym : *Data.Refs) {
Refs.emplace_back(Sym);
- for (auto &Ref : Refs.back().second)
- Strings.intern(Ref.Location.FileURI);
+ for (auto &Ref : Refs.back().second) {
+ StringRef File = Ref.Location.FileURI;
+ Strings.intern(File);
+ Ref.Location.FileURI = File.data();
+ }
}
}
OpenPOWER on IntegriCloud