aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/SourceLocation.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Basic/SourceLocation.h')
-rw-r--r--include/clang/Basic/SourceLocation.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/include/clang/Basic/SourceLocation.h b/include/clang/Basic/SourceLocation.h
index 145e1c8487..ee6cc145fe 100644
--- a/include/clang/Basic/SourceLocation.h
+++ b/include/clang/Basic/SourceLocation.h
@@ -87,7 +87,7 @@ public:
static bool isValidMacroPhysOffs(int Val) {
if (Val >= 0)
return Val < (1 << (MacroPhysOffsBits-1));
- return -Val < (1 << (MacroPhysOffsBits-1));
+ return -Val <= (1 << (MacroPhysOffsBits-1));
}
static SourceLocation getMacroLoc(unsigned MacroID, int PhysOffs){
@@ -231,8 +231,9 @@ public:
return *SrcMgr;
}
- FullSourceLoc getLogicalLoc();
- FullSourceLoc getIncludeLoc();
+ FullSourceLoc getLogicalLoc() const;
+ FullSourceLoc getPhysicalLoc() const;
+ FullSourceLoc getIncludeLoc() const;
unsigned getLineNumber() const;
unsigned getColumnNumber() const;
@@ -240,6 +241,9 @@ public:
unsigned getLogicalLineNumber() const;
unsigned getLogicalColumnNumber() const;
+ unsigned getPhysicalLineNumber() const;
+ unsigned getPhysicalColumnNumber() const;
+
const char *getCharacterData() const;
const llvm::MemoryBuffer* getBuffer() const;
@@ -260,6 +264,10 @@ public:
bool operator!=(const FullSourceLoc& RHS) const {
return SrcMgr != RHS.SrcMgr || Loc != RHS.Loc;
}
+
+ /// Prints information about this FullSourceLoc to stderr. Useful for
+ /// debugging.
+ void dump() const;
};
} // end namespace clang