diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-04-20 21:16:21 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-04-20 21:16:21 +0000 |
| commit | 07542c5b2d43d0f88add66acb87a4bdf86df30ea (patch) | |
| tree | 7d3d77791a8f8c4d3f93b2ac5a03310ee65c4daf /clang/tools/libclang/CIndex.cpp | |
| parent | dbee242518250ff86f0e8f35bba9c246d83c9a92 (diff) | |
| download | bcm5719-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.cpp | 2 |
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); |

