diff options
Diffstat (limited to 'clang/lib/ARCMigrate/TransformActions.cpp')
-rw-r--r-- | clang/lib/ARCMigrate/TransformActions.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/ARCMigrate/TransformActions.cpp b/clang/lib/ARCMigrate/TransformActions.cpp index 4f3fb584592..7439eb28594 100644 --- a/clang/lib/ARCMigrate/TransformActions.cpp +++ b/clang/lib/ARCMigrate/TransformActions.cpp @@ -590,8 +590,12 @@ StringRef TransformActionsImpl::getUniqueText(StringRef text) { SourceLocation TransformActionsImpl::getLocForEndOfToken(SourceLocation loc, SourceManager &SM, Preprocessor &PP) { - if (loc.isMacroID()) - loc = SM.getExpansionRange(loc).second; + if (loc.isMacroID()) { + CharSourceRange Exp = SM.getExpansionRange(loc); + if (Exp.isCharRange()) + return Exp.getEnd(); + loc = Exp.getEnd(); + } return PP.getLocForEndOfToken(loc); } |