summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Basic/SourceManager.h14
-rw-r--r--clang/lib/Basic/SourceManager.cpp2
2 files changed, 8 insertions, 8 deletions
diff --git a/clang/include/clang/Basic/SourceManager.h b/clang/include/clang/Basic/SourceManager.h
index 4f58334f2e8..70237ff1155 100644
--- a/clang/include/clang/Basic/SourceManager.h
+++ b/clang/include/clang/Basic/SourceManager.h
@@ -237,10 +237,10 @@ class SourceManager {
/// LastLineNo - These ivars serve as a cache used in the getLineNumber
/// method which is used to speedup getLineNumber calls to nearby locations.
- unsigned LastLineNoFileIDQuery;
- SrcMgr::ContentCache *LastLineNoContentCache;
- unsigned LastLineNoFilePos;
- unsigned LastLineNoResult;
+ mutable unsigned LastLineNoFileIDQuery;
+ mutable SrcMgr::ContentCache *LastLineNoContentCache;
+ mutable unsigned LastLineNoFilePos;
+ mutable unsigned LastLineNoResult;
/// MainFileID - The file ID for the main source file of the translation unit.
unsigned MainFileID;
@@ -344,12 +344,12 @@ public:
/// for the position indicated. This requires building and caching a table of
/// line offsets for the MemoryBuffer, so this is not cheap: use only when
/// about to emit a diagnostic.
- unsigned getLineNumber(SourceLocation Loc);
+ unsigned getLineNumber(SourceLocation Loc) const;
- unsigned getLogicalLineNumber(SourceLocation Loc) {
+ unsigned getLogicalLineNumber(SourceLocation Loc) const {
return getLineNumber(getLogicalLoc(Loc));
}
- unsigned getPhysicalLineNumber(SourceLocation Loc) {
+ unsigned getPhysicalLineNumber(SourceLocation Loc) const {
return getLineNumber(getPhysicalLoc(Loc));
}
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index b8b72878f52..44a6d66c1a6 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -238,7 +238,7 @@ static void ComputeLineNumbers(ContentCache* FI) {
/// for the position indicated. This requires building and caching a table of
/// line offsets for the MemoryBuffer, so this is not cheap: use only when
/// about to emit a diagnostic.
-unsigned SourceManager::getLineNumber(SourceLocation Loc) {
+unsigned SourceManager::getLineNumber(SourceLocation Loc) const {
unsigned FileID = Loc.getFileID();
if (FileID == 0) return 0;
OpenPOWER on IntegriCloud