[clang] [clang] NFC: Add alias for std::pair<FileID, unsigned> used in SourceLocation (PR #145711)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 25 07:23:06 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Haojian Wu (hokein)
<details>
<summary>Changes</summary>
Introduce a type alias for the commonly used `std::pair<FileID, unsigned>` to improve code readability, and make it easier for future updates (64-bit source locations).
---
Patch is 52.91 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/145711.diff
38 Files Affected:
- (modified) clang/include/clang/Basic/SourceLocation.h (+4-2)
- (modified) clang/include/clang/Basic/SourceManager.h (+12-16)
- (modified) clang/lib/AST/ASTContext.cpp (+1-1)
- (modified) clang/lib/AST/ASTImporter.cpp (+1-1)
- (modified) clang/lib/AST/CommentLexer.cpp (+1-1)
- (modified) clang/lib/AST/Expr.cpp (+1-2)
- (modified) clang/lib/AST/RawCommentList.cpp (+3-4)
- (modified) clang/lib/Analysis/PathDiagnostic.cpp (+2-2)
- (modified) clang/lib/Basic/Diagnostic.cpp (+4-5)
- (modified) clang/lib/Basic/Sarif.cpp (+1-1)
- (modified) clang/lib/Basic/SourceLocation.cpp (+2-2)
- (modified) clang/lib/Basic/SourceManager.cpp (+27-32)
- (modified) clang/lib/Edit/Commit.cpp (+4-4)
- (modified) clang/lib/Frontend/SARIFDiagnostic.cpp (+2-2)
- (modified) clang/lib/Frontend/TextDiagnostic.cpp (+3-3)
- (modified) clang/lib/Index/CommentToXML.cpp (+1-1)
- (modified) clang/lib/Index/USRGeneration.cpp (+1-1)
- (modified) clang/lib/Lex/Lexer.cpp (+10-11)
- (modified) clang/lib/Lex/MacroInfo.cpp (+2-4)
- (modified) clang/lib/Lex/Preprocessor.cpp (+1-1)
- (modified) clang/lib/Parse/ParseStmt.cpp (+1-1)
- (modified) clang/lib/Parse/ParseStmtAsm.cpp (+3-6)
- (modified) clang/lib/Rewrite/Rewriter.cpp (+1-1)
- (modified) clang/lib/Sema/CodeCompleteConsumer.cpp (+2-2)
- (modified) clang/lib/Sema/SemaDecl.cpp (+1-1)
- (modified) clang/lib/Sema/SemaObjCProperty.cpp (+1-1)
- (modified) clang/lib/Serialization/ASTReader.cpp (+1-2)
- (modified) clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp (+1-2)
- (modified) clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp (+1-1)
- (modified) clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp (+2-2)
- (modified) clang/lib/Tooling/Core/Replacement.cpp (+3-4)
- (modified) clang/lib/Tooling/Refactoring/AtomicChange.cpp (+1-1)
- (modified) clang/lib/Tooling/Transformer/SourceCode.cpp (+2-2)
- (modified) clang/tools/libclang/CIndex.cpp (+10-10)
- (modified) clang/tools/libclang/CIndexHigh.cpp (+3-3)
- (modified) clang/tools/libclang/CXIndexDataConsumer.cpp (+3-3)
- (modified) clang/tools/libclang/CXSourceLocation.cpp (+2-2)
- (modified) clang/unittests/Lex/LexerTest.cpp (+3-4)
``````````diff
diff --git a/clang/include/clang/Basic/SourceLocation.h b/clang/include/clang/Basic/SourceLocation.h
index 7a0f5ba8d1270..14543cc41a38e 100644
--- a/clang/include/clang/Basic/SourceLocation.h
+++ b/clang/include/clang/Basic/SourceLocation.h
@@ -70,6 +70,8 @@ class FileID {
int getOpaqueValue() const { return ID; }
};
+using FileIDAndOffset = std::pair<FileID, unsigned>;
+
/// Encodes a location in the source. The SourceManager can decode this
/// to get at the full include stack, line and column information.
///
@@ -403,7 +405,7 @@ class FullSourceLoc : public SourceLocation {
/// pair, after walking through all expansion records.
///
/// \see SourceManager::getDecomposedExpansionLoc
- std::pair<FileID, unsigned> getDecomposedExpansionLoc() const;
+ FileIDAndOffset getDecomposedExpansionLoc() const;
unsigned getSpellingLineNumber(bool *Invalid = nullptr) const;
unsigned getSpellingColumnNumber(bool *Invalid = nullptr) const;
@@ -424,7 +426,7 @@ class FullSourceLoc : public SourceLocation {
///
/// The first element is the FileID, the second is the offset from the
/// start of the buffer of the location.
- std::pair<FileID, unsigned> getDecomposedLoc() const;
+ FileIDAndOffset getDecomposedLoc() const;
bool isInSystemHeader() const;
diff --git a/clang/include/clang/Basic/SourceManager.h b/clang/include/clang/Basic/SourceManager.h
index cd3dac9133223..eefd4885534c8 100644
--- a/clang/include/clang/Basic/SourceManager.h
+++ b/clang/include/clang/Basic/SourceManager.h
@@ -795,7 +795,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
///
/// Used to cache results from and speed-up \c getDecomposedIncludedLoc
/// function.
- mutable llvm::DenseMap<FileID, std::pair<FileID, unsigned>> IncludedLocMap;
+ mutable llvm::DenseMap<FileID, FileIDAndOffset> IncludedLocMap;
/// The key value into the IsBeforeInTUCache table.
using IsBeforeInTUCacheKey = std::pair<FileID, FileID>;
@@ -1269,7 +1269,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
///
/// The first element is the FileID, the second is the offset from the
/// start of the buffer of the location.
- std::pair<FileID, unsigned> getDecomposedLoc(SourceLocation Loc) const {
+ FileIDAndOffset getDecomposedLoc(SourceLocation Loc) const {
FileID FID = getFileID(Loc);
auto *Entry = getSLocEntryOrNull(FID);
if (!Entry)
@@ -1281,8 +1281,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
///
/// If the location is an expansion record, walk through it until we find
/// the final location expanded.
- std::pair<FileID, unsigned>
- getDecomposedExpansionLoc(SourceLocation Loc) const {
+ FileIDAndOffset getDecomposedExpansionLoc(SourceLocation Loc) const {
FileID FID = getFileID(Loc);
auto *E = getSLocEntryOrNull(FID);
if (!E)
@@ -1299,8 +1298,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
///
/// If the location is an expansion record, walk through it until we find
/// its spelling record.
- std::pair<FileID, unsigned>
- getDecomposedSpellingLoc(SourceLocation Loc) const {
+ FileIDAndOffset getDecomposedSpellingLoc(SourceLocation Loc) const {
FileID FID = getFileID(Loc);
auto *E = getSLocEntryOrNull(FID);
if (!E)
@@ -1314,7 +1312,7 @@ class SourceManager : public RefCountedBase<SourceManager> {
/// Returns the "included/expanded in" decomposed location of the given
/// FileID.
- std::pair<FileID, unsigned> getDecomposedIncludedLoc(FileID FID) const;
+ FileIDAndOffset getDecomposedIncludedLoc(FileID FID) const;
/// Returns the offset from the start of the file that the
/// specified SourceLocation represents.
@@ -1682,8 +1680,8 @@ class SourceManager : public RefCountedBase<SourceManager> {
/// are in the same TU. The second bool is true if the first is true
/// and \p LOffs is before \p ROffs.
std::pair<bool, bool>
- isInTheSameTranslationUnit(std::pair<FileID, unsigned> &LOffs,
- std::pair<FileID, unsigned> &ROffs) const;
+ isInTheSameTranslationUnit(FileIDAndOffset &LOffs,
+ FileIDAndOffset &ROffs) const;
/// \param Loc a source location in a loaded AST (of a PCH/Module file).
/// \returns a FileID uniquely identifies the AST of a loaded
@@ -1691,9 +1689,8 @@ class SourceManager : public RefCountedBase<SourceManager> {
FileID getUniqueLoadedASTFileID(SourceLocation Loc) const;
/// Determines whether the two decomposed source location is in the same TU.
- bool isInTheSameTranslationUnitImpl(
- const std::pair<FileID, unsigned> &LOffs,
- const std::pair<FileID, unsigned> &ROffs) const;
+ bool isInTheSameTranslationUnitImpl(const FileIDAndOffset &LOffs,
+ const FileIDAndOffset &ROffs) const;
/// Determines the order of 2 source locations in the "source location
/// address space".
@@ -1979,11 +1976,10 @@ class SourceManager : public RefCountedBase<SourceManager> {
SourceLocation getSpellingLocSlowCase(SourceLocation Loc) const;
SourceLocation getFileLocSlowCase(SourceLocation Loc) const;
- std::pair<FileID, unsigned>
+ FileIDAndOffset
getDecomposedExpansionLocSlowCase(const SrcMgr::SLocEntry *E) const;
- std::pair<FileID, unsigned>
- getDecomposedSpellingLocSlowCase(const SrcMgr::SLocEntry *E,
- unsigned Offset) const;
+ FileIDAndOffset getDecomposedSpellingLocSlowCase(const SrcMgr::SLocEntry *E,
+ unsigned Offset) const;
void computeMacroArgsCache(MacroArgsMap &MacroArgsCache, FileID FID) const;
void associateFileChunkWithMacroArgExp(MacroArgsMap &MacroArgsCache,
FileID FID,
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index e7abb18330e17..b13bdd5642977 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -248,7 +248,7 @@ RawComment *ASTContext::getRawCommentForDeclNoCacheImpl(
// Decompose the location for the declaration and find the beginning of the
// file buffer.
- const std::pair<FileID, unsigned> DeclLocDecomp =
+ const FileIDAndOffset DeclLocDecomp =
SourceMgr.getDecomposedLoc(RepresentativeLocForDecl);
// Slow path.
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp
index 2b7d67f389a64..c4d20554f09ef 100644
--- a/clang/lib/AST/ASTImporter.cpp
+++ b/clang/lib/AST/ASTImporter.cpp
@@ -9989,7 +9989,7 @@ Expected<SourceLocation> ASTImporter::Import(SourceLocation FromLoc) {
SourceManager &FromSM = FromContext.getSourceManager();
bool IsBuiltin = FromSM.isWrittenInBuiltinFile(FromLoc);
- std::pair<FileID, unsigned> Decomposed = FromSM.getDecomposedLoc(FromLoc);
+ FileIDAndOffset Decomposed = FromSM.getDecomposedLoc(FromLoc);
Expected<FileID> ToFileIDOrErr = Import(Decomposed.first, IsBuiltin);
if (!ToFileIDOrErr)
return ToFileIDOrErr.takeError();
diff --git a/clang/lib/AST/CommentLexer.cpp b/clang/lib/AST/CommentLexer.cpp
index 804be89a8d4dd..e19c2327aebdc 100644
--- a/clang/lib/AST/CommentLexer.cpp
+++ b/clang/lib/AST/CommentLexer.cpp
@@ -904,7 +904,7 @@ void Lexer::lex(Token &T) {
StringRef Lexer::getSpelling(const Token &Tok,
const SourceManager &SourceMgr) const {
SourceLocation Loc = Tok.getLocation();
- std::pair<FileID, unsigned> LocInfo = SourceMgr.getDecomposedLoc(Loc);
+ FileIDAndOffset LocInfo = SourceMgr.getDecomposedLoc(Loc);
bool InvalidTemp = false;
StringRef File = SourceMgr.getBufferData(LocInfo.first, &InvalidTemp);
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index 51d83c480c2f1..149b274f36b63 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -1356,8 +1356,7 @@ StringLiteral::getLocationOfByte(unsigned ByteNo, const SourceManager &SM,
SourceLocation StrTokSpellingLoc = SM.getSpellingLoc(StrTokLoc);
// Re-lex the token to get its length and original spelling.
- std::pair<FileID, unsigned> LocInfo =
- SM.getDecomposedLoc(StrTokSpellingLoc);
+ FileIDAndOffset LocInfo = SM.getDecomposedLoc(StrTokSpellingLoc);
bool Invalid = false;
StringRef Buffer = SM.getBufferData(LocInfo.first, &Invalid);
if (Invalid) {
diff --git a/clang/lib/AST/RawCommentList.cpp b/clang/lib/AST/RawCommentList.cpp
index 9658c6ab3d39d..3f9edc75311d4 100644
--- a/clang/lib/AST/RawCommentList.cpp
+++ b/clang/lib/AST/RawCommentList.cpp
@@ -224,8 +224,8 @@ comments::FullComment *RawComment::parse(const ASTContext &Context,
static bool onlyWhitespaceBetween(SourceManager &SM,
SourceLocation Loc1, SourceLocation Loc2,
unsigned MaxNewlinesAllowed) {
- std::pair<FileID, unsigned> Loc1Info = SM.getDecomposedLoc(Loc1);
- std::pair<FileID, unsigned> Loc2Info = SM.getDecomposedLoc(Loc2);
+ FileIDAndOffset Loc1Info = SM.getDecomposedLoc(Loc1);
+ FileIDAndOffset Loc2Info = SM.getDecomposedLoc(Loc2);
// Question does not make sense if locations are in different files.
if (Loc1Info.first != Loc2Info.first)
@@ -279,8 +279,7 @@ void RawCommentList::addComment(const RawComment &RC,
if (RC.isOrdinary() && !CommentOpts.ParseAllComments)
return;
- std::pair<FileID, unsigned> Loc =
- SourceMgr.getDecomposedLoc(RC.getBeginLoc());
+ FileIDAndOffset Loc = SourceMgr.getDecomposedLoc(RC.getBeginLoc());
const FileID CommentFile = Loc.first;
const unsigned CommentOffset = Loc.second;
diff --git a/clang/lib/Analysis/PathDiagnostic.cpp b/clang/lib/Analysis/PathDiagnostic.cpp
index 962f9e9bc79cf..b1fbc3c9eff94 100644
--- a/clang/lib/Analysis/PathDiagnostic.cpp
+++ b/clang/lib/Analysis/PathDiagnostic.cpp
@@ -323,8 +323,8 @@ static bool compareCrossTUSourceLocs(FullSourceLoc XL, FullSourceLoc YL) {
return true;
if (XL.isValid() && YL.isInvalid())
return false;
- std::pair<FileID, unsigned> XOffs = XL.getDecomposedLoc();
- std::pair<FileID, unsigned> YOffs = YL.getDecomposedLoc();
+ FileIDAndOffset XOffs = XL.getDecomposedLoc();
+ FileIDAndOffset YOffs = YL.getDecomposedLoc();
const SourceManager &SM = XL.getManager();
std::pair<bool, bool> InSameTU = SM.isInTheSameTranslationUnit(XOffs, YOffs);
if (InSameTU.first)
diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp
index a30bfa28eca71..ab0525e96f3ba 100644
--- a/clang/lib/Basic/Diagnostic.cpp
+++ b/clang/lib/Basic/Diagnostic.cpp
@@ -173,7 +173,7 @@ void DiagnosticsEngine::DiagStateMap::append(SourceManager &SrcMgr,
CurDiagState = State;
CurDiagStateLoc = Loc;
- std::pair<FileID, unsigned> Decomp = SrcMgr.getDecomposedLoc(Loc);
+ FileIDAndOffset Decomp = SrcMgr.getDecomposedLoc(Loc);
unsigned Offset = Decomp.second;
for (File *F = getFile(SrcMgr, Decomp.first); F;
Offset = F->ParentOffset, F = F->Parent) {
@@ -199,7 +199,7 @@ DiagnosticsEngine::DiagStateMap::lookup(SourceManager &SrcMgr,
if (Files.empty())
return FirstDiagState;
- std::pair<FileID, unsigned> Decomp = SrcMgr.getDecomposedLoc(Loc);
+ FileIDAndOffset Decomp = SrcMgr.getDecomposedLoc(Loc);
const File *F = getFile(SrcMgr, Decomp.first);
return F->lookup(Decomp.second);
}
@@ -226,7 +226,7 @@ DiagnosticsEngine::DiagStateMap::getFile(SourceManager &SrcMgr,
// We created a new File; look up the diagnostic state at the start of it and
// initialize it.
if (ID.isValid()) {
- std::pair<FileID, unsigned> Decomp = SrcMgr.getDecomposedIncludedLoc(ID);
+ FileIDAndOffset Decomp = SrcMgr.getDecomposedIncludedLoc(ID);
F.Parent = getFile(SrcMgr, Decomp.first);
F.ParentOffset = Decomp.second;
F.StateTransitions.push_back({F.Parent->lookup(Decomp.second), 0});
@@ -263,8 +263,7 @@ void DiagnosticsEngine::DiagStateMap::dump(SourceManager &SrcMgr,
<< ">: " << SrcMgr.getBufferOrFake(ID).getBufferIdentifier();
if (F.second.Parent) {
- std::pair<FileID, unsigned> Decomp =
- SrcMgr.getDecomposedIncludedLoc(ID);
+ FileIDAndOffset Decomp = SrcMgr.getDecomposedIncludedLoc(ID);
assert(File.ParentOffset == Decomp.second);
llvm::errs() << " parent " << File.Parent << " <FileID "
<< Decomp.first.getHashValue() << "> ";
diff --git a/clang/lib/Basic/Sarif.cpp b/clang/lib/Basic/Sarif.cpp
index ed50b73e92240..69862b73febd7 100644
--- a/clang/lib/Basic/Sarif.cpp
+++ b/clang/lib/Basic/Sarif.cpp
@@ -117,7 +117,7 @@ static unsigned int adjustColumnPos(FullSourceLoc Loc,
unsigned int TokenLen = 0) {
assert(!Loc.isInvalid() && "invalid Loc when adjusting column position");
- std::pair<FileID, unsigned> LocInfo = Loc.getDecomposedExpansionLoc();
+ FileIDAndOffset LocInfo = Loc.getDecomposedExpansionLoc();
std::optional<MemoryBufferRef> Buf =
Loc.getManager().getBufferOrNone(LocInfo.first);
assert(Buf && "got an invalid buffer for the location's file");
diff --git a/clang/lib/Basic/SourceLocation.cpp b/clang/lib/Basic/SourceLocation.cpp
index c5b9864dbb33f..3e26f75d25b10 100644
--- a/clang/lib/Basic/SourceLocation.cpp
+++ b/clang/lib/Basic/SourceLocation.cpp
@@ -164,7 +164,7 @@ FullSourceLoc FullSourceLoc::getExpansionLoc() const {
return FullSourceLoc(SrcMgr->getExpansionLoc(*this), *SrcMgr);
}
-std::pair<FileID, unsigned> FullSourceLoc::getDecomposedExpansionLoc() const {
+FileIDAndOffset FullSourceLoc::getDecomposedExpansionLoc() const {
return SrcMgr->getDecomposedExpansionLoc(*this);
}
@@ -274,6 +274,6 @@ StringRef FullSourceLoc::getBufferData(bool *Invalid) const {
return SrcMgr->getBufferData(SrcMgr->getFileID(*this), Invalid);
}
-std::pair<FileID, unsigned> FullSourceLoc::getDecomposedLoc() const {
+FileIDAndOffset FullSourceLoc::getDecomposedLoc() const {
return SrcMgr->getDecomposedLoc(*this);
}
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index 053e82683a4a6..a05d6c16caa32 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -267,7 +267,7 @@ void SourceManager::AddLineNote(SourceLocation Loc, unsigned LineNo,
int FilenameID, bool IsFileEntry,
bool IsFileExit,
SrcMgr::CharacteristicKind FileKind) {
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc(Loc);
bool Invalid = false;
SLocEntry &Entry = getSLocEntry(LocInfo.first, &Invalid);
@@ -916,7 +916,7 @@ getExpansionLocSlowCase(SourceLocation Loc) const {
SourceLocation SourceManager::getSpellingLocSlowCase(SourceLocation Loc) const {
do {
- std::pair<FileID, unsigned> LocInfo = getDecomposedLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedLoc(Loc);
Loc = getSLocEntry(LocInfo.first).getExpansion().getSpellingLoc();
Loc = Loc.getLocWithOffset(LocInfo.second);
} while (!Loc.isFileID());
@@ -933,10 +933,8 @@ SourceLocation SourceManager::getFileLocSlowCase(SourceLocation Loc) const {
return Loc;
}
-
-std::pair<FileID, unsigned>
-SourceManager::getDecomposedExpansionLocSlowCase(
- const SrcMgr::SLocEntry *E) const {
+FileIDAndOffset SourceManager::getDecomposedExpansionLocSlowCase(
+ const SrcMgr::SLocEntry *E) const {
// If this is an expansion record, walk through all the expansion points.
FileID FID;
SourceLocation Loc;
@@ -952,7 +950,7 @@ SourceManager::getDecomposedExpansionLocSlowCase(
return std::make_pair(FID, Offset);
}
-std::pair<FileID, unsigned>
+FileIDAndOffset
SourceManager::getDecomposedSpellingLocSlowCase(const SrcMgr::SLocEntry *E,
unsigned Offset) const {
// If this is an expansion record, walk through all the expansion points.
@@ -976,7 +974,7 @@ SourceManager::getDecomposedSpellingLocSlowCase(const SrcMgr::SLocEntry *E,
/// found. This should not generally be used by clients.
SourceLocation SourceManager::getImmediateSpellingLoc(SourceLocation Loc) const{
if (Loc.isFileID()) return Loc;
- std::pair<FileID, unsigned> LocInfo = getDecomposedLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedLoc(Loc);
Loc = getSLocEntry(LocInfo.first).getExpansion().getSpellingLoc();
return Loc.getLocWithOffset(LocInfo.second);
}
@@ -1048,7 +1046,7 @@ bool SourceManager::isAtStartOfImmediateMacroExpansion(SourceLocation Loc,
SourceLocation *MacroBegin) const {
assert(Loc.isValid() && Loc.isMacroID() && "Expected a valid macro loc");
- std::pair<FileID, unsigned> DecompLoc = getDecomposedLoc(Loc);
+ FileIDAndOffset DecompLoc = getDecomposedLoc(Loc);
if (DecompLoc.second > 0)
return false; // Does not point at the start of expansion range.
@@ -1125,7 +1123,7 @@ const char *SourceManager::getCharacterData(SourceLocation SL,
bool *Invalid) const {
// Note that this is a hot function in the getSpelling() path, which is
// heavily used by -E mode.
- std::pair<FileID, unsigned> LocInfo = getDecomposedSpellingLoc(SL);
+ FileIDAndOffset LocInfo = getDecomposedSpellingLoc(SL);
// Note that calling 'getBuffer()' may lazily page in a source file.
bool CharDataInvalid = false;
@@ -1204,14 +1202,14 @@ static bool isInvalid(LocType Loc, bool *Invalid) {
unsigned SourceManager::getSpellingColumnNumber(SourceLocation Loc,
bool *Invalid) const {
if (isInvalid(Loc, Invalid)) return 0;
- std::pair<FileID, unsigned> LocInfo = getDecomposedSpellingLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedSpellingLoc(Loc);
return getColumnNumber(LocInfo.first, LocInfo.second, Invalid);
}
unsigned SourceManager::getExpansionColumnNumber(SourceLocation Loc,
bool *Invalid) const {
if (isInvalid(Loc, Invalid)) return 0;
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc(Loc);
return getColumnNumber(LocInfo.first, LocInfo.second, Invalid);
}
@@ -1412,13 +1410,13 @@ unsigned SourceManager::getLineNumber(FileID FID, unsigned FilePos,
unsigned SourceManager::getSpellingLineNumber(SourceLocation Loc,
bool *Invalid) const {
if (isInvalid(Loc, Invalid)) return 0;
- std::pair<FileID, unsigned> LocInfo = getDecomposedSpellingLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedSpellingLoc(Loc);
return getLineNumber(LocInfo.first, LocInfo.second);
}
unsigned SourceManager::getExpansionLineNumber(SourceLocation Loc,
bool *Invalid) const {
if (isInvalid(Loc, Invalid)) return 0;
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc(Loc);
return getLineNumber(LocInfo.first, LocInfo.second);
}
unsigned SourceManager::getPresumedLineNumber(SourceLocation Loc,
@@ -1439,7 +1437,7 @@ unsigned SourceManager::getPresumedLineNumber(SourceLocation Loc,
SrcMgr::CharacteristicKind
SourceManager::getFileCharacteristic(SourceLocation Loc) const {
assert(Loc.isValid() && "Can't get file characteristic of invalid loc!");
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc(Loc);
const SLocEntry *SEntry = getSLocEntryForFile(LocInfo.first);
if (!SEntry)
return C_User;
@@ -1488,7 +1486,7 @@ PresumedLoc SourceManager::getPresumedLoc(SourceLocation Loc,
if (Loc.isInvalid()) return PresumedLoc();
// Presumed locations are always for expansion points.
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc(Loc);
bool Invalid = false;
const SLocEntry &Entry = getSLocEntry(LocInfo.first, &Invalid);
@@ -1563,7 +1561,7 @@ bool SourceManager::isInMainFile(SourceLocation Loc) const {
if (Loc.isInvalid()) return false;
// Presumed locations are always for expansion points.
- std::pair<FileID, unsigned> LocInfo = getDecomposedExpansionLoc(Loc);
+ FileIDAndOffset LocInfo = getDecomposedExpansionLoc...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/145711
More information about the cfe-commits
mailing list