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 55e7334acc2..07db6c74d11 100644 --- a/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -124,7 +124,7 @@ public: SourceLocation getEndOfFileOrMacro(SourceLocation Loc) { if (Loc.isMacroID()) return Loc.getLocWithOffset(SM.getFileIDSize(SM.getFileID(Loc)) - - SM.getFileOffset(Loc) - 1); + SM.getFileOffset(Loc)); return SM.getLocForEndOfFile(SM.getFileID(Loc)); } @@ -147,7 +147,7 @@ public: SourceLocation Loc = S->getLocEnd(); while (SM.isMacroArgExpansion(Loc)) Loc = SM.getImmediateExpansionRange(Loc).first; - return Loc; + return getPreciseTokenLocEnd(Loc); } /// \brief Find the set of files we have regions for and assign IDs @@ -257,7 +257,7 @@ public: if (!CovFileID) continue; - SourceLocation LocEnd = getPreciseTokenLocEnd(Region.getEndLoc()); + SourceLocation LocEnd = Region.getEndLoc(); assert(SM.isWrittenInSameFile(LocStart, LocEnd) && "region spans multiple files"); @@ -407,7 +407,7 @@ struct CounterCoverageMappingBuilder SourceRegions.emplace_back(Region.getCounter(), NestedLoc, EndLoc); - EndLoc = getIncludeOrExpansionLoc(EndLoc); + EndLoc = getPreciseTokenLocEnd(getIncludeOrExpansionLoc(EndLoc)); assert(!EndLoc.isInvalid() && "File exit was not handled before popRegions"); } |