From dd7faec9cac373b1f472933970162b4ba3fd7e42 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Wed, 28 Sep 2016 12:49:14 +0000 Subject: [PATCH] Trying to buildbot failures caused by r282577. llvm-svn: 282583 --- clang/lib/Tooling/Core/Replacement.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Tooling/Core/Replacement.cpp b/clang/lib/Tooling/Core/Replacement.cpp index 918488310c56..7a5fb856ae7a 100644 --- a/clang/lib/Tooling/Core/Replacement.cpp +++ b/clang/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); -- 2.34.1