summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CIndex.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-04-20 21:16:21 +0000
committerDouglas Gregor <dgregor@apple.com>2011-04-20 21:16:21 +0000
commit07542c5b2d43d0f88add66acb87a4bdf86df30ea (patch)
tree7d3d77791a8f8c4d3f93b2ac5a03310ee65c4daf /clang/tools/libclang/CIndex.cpp
parentdbee242518250ff86f0e8f35bba9c246d83c9a92 (diff)
downloadbcm5719-llvm-07542c5b2d43d0f88add66acb87a4bdf86df30ea.tar.gz
bcm5719-llvm-07542c5b2d43d0f88add66acb87a4bdf86df30ea.zip
When translating a Clang source range into a libclang source range,
adjust the a ending macro location to the end of the instantiation location before adjusting it to the end of the token. Fixes <rdar://problem/9021561>. llvm-svn: 129872
Diffstat (limited to 'clang/tools/libclang/CIndex.cpp')
-rw-r--r--clang/tools/libclang/CIndex.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index ce020882814..870e6b20187 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -116,7 +116,7 @@ CXSourceRange cxloc::translateSourceRange(const SourceManager &SM,
// location accordingly.
SourceLocation EndLoc = R.getEnd();
if (EndLoc.isValid() && EndLoc.isMacroID())
- EndLoc = SM.getSpellingLoc(EndLoc);
+ EndLoc = SM.getInstantiationRange(EndLoc).second;
if (R.isTokenRange() && !EndLoc.isInvalid() && EndLoc.isFileID()) {
unsigned Length = Lexer::MeasureTokenLength(EndLoc, SM, LangOpts);
EndLoc = EndLoc.getFileLocWithOffset(Length);
OpenPOWER on IntegriCloud