aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2020-10-14 12:37:19 -0400
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2020-10-19 20:27:56 -0400
commitb03ae74319f19c3b86982638671d00205a91d263 (patch)
treefa78fb63028c1a4ccb092da09cef909eb7a7b5ec
parenta668ad92d5e2161e07e1a435a19ea5072f52a989 (diff)
downloadllvm-b03ae74319f19c3b86982638671d00205a91d263.zip
llvm-b03ae74319f19c3b86982638671d00205a91d263.tar.gz
llvm-b03ae74319f19c3b86982638671d00205a91d263.tar.bz2
clang/Lex: Stop using SourceManager::getBuffer
Update clang/lib/Lex to stop relying on a `MemoryBuffer*`, using the `MemoryBufferRef` from `getBufferOrNone` since both locations had logic for checking validity of the buffer. There's potentially a functionality change, since the logic was wrong (it checked for `nullptr`, which was never returned by the old API), but if that was reachable the new behaviour should be better. Differential Revision: https://reviews.llvm.org/D89402
-rw-r--r--clang/lib/Lex/ModuleMap.cpp2
-rw-r--r--clang/lib/Lex/PPDirectives.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index 12da5a8..c47a3a0 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -3004,7 +3004,7 @@ bool ModuleMap::parseModuleMapFile(const FileEntry *File, bool IsSystem,
}
assert(Target && "Missing target information");
- const llvm::MemoryBuffer *Buffer = SourceMgr.getBuffer(ID);
+ llvm::Optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
if (!Buffer)
return ParsedModuleMap[File] = true;
assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp
index 57349d4..62724d4 100644
--- a/clang/lib/Lex/PPDirectives.cpp
+++ b/clang/lib/Lex/PPDirectives.cpp
@@ -379,7 +379,8 @@ Optional<unsigned> Preprocessor::getSkippedRangeForExcludedConditionalBlock(
std::pair<FileID, unsigned> HashFileOffset =
SourceMgr.getDecomposedLoc(HashLoc);
- const llvm::MemoryBuffer *Buf = SourceMgr.getBuffer(HashFileOffset.first);
+ Optional<llvm::MemoryBufferRef> Buf =
+ SourceMgr.getBufferOrNone(HashFileOffset.first);
if (!Buf)
return None;
auto It =