diff options
Diffstat (limited to 'clang/lib/CodeGen/CoverageMappingGen.cpp')
-rw-r--r-- | clang/lib/CodeGen/CoverageMappingGen.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CoverageMappingGen.cpp b/clang/lib/CodeGen/CoverageMappingGen.cpp index fca17264e8f..65415d9d2d2 100644 --- a/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -134,18 +134,18 @@ public: : SM.getIncludeLoc(SM.getFileID(Loc)); } - /// \brief Get the start of \c S ignoring macro argument locations. + /// \brief Get the start of \c S ignoring macro arguments and system macros. SourceLocation getStart(const Stmt *S) { SourceLocation Loc = S->getLocStart(); - while (SM.isMacroArgExpansion(Loc)) + while (SM.isMacroArgExpansion(Loc) || SM.isInSystemMacro(Loc)) Loc = SM.getImmediateExpansionRange(Loc).first; return Loc; } - /// \brief Get the end of \c S ignoring macro argument locations. + /// \brief Get the end of \c S ignoring macro arguments and system macros. SourceLocation getEnd(const Stmt *S) { SourceLocation Loc = S->getLocEnd(); - while (SM.isMacroArgExpansion(Loc)) + while (SM.isMacroArgExpansion(Loc) || SM.isInSystemMacro(Loc)) Loc = SM.getImmediateExpansionRange(Loc).first; return getPreciseTokenLocEnd(Loc); } |