From: Eric Liu Date: Wed, 28 Sep 2016 12:49:14 +0000 (+0000) Subject: Trying to buildbot failures caused by r282577. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=16d9f68edea229a72ef0bb614b66e47c16af6348;p=clang Trying to buildbot failures caused by r282577. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282583 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Tooling/Core/Replacement.cpp b/lib/Tooling/Core/Replacement.cpp index 918488310c..7a5fb856ae 100644 --- a/lib/Tooling/Core/Replacement.cpp +++ b/lib/Tooling/Core/Replacement.cpp @@ -287,8 +287,13 @@ llvm::Error Replacements::add(const Replacement &R) { // with them and replace them with the merged replacements. auto MergeBegin = I; auto MergeEnd = std::next(I); - while (I-- != Replaces.begin() && Overlap(R, *I)) + while (I != Replaces.begin()) { + --I; + // If `I` doesn't overlap with `R`, don't merge it. + if (!Overlap(R, *I)) + break; MergeBegin = I; + } Replacements OverlapReplaces(MergeBegin, MergeEnd); llvm::Expected Merged = OverlapReplaces.mergeIfOrderIndependent(R);