diff --git a/src/tools/clangrefactoringbackend/source/sourcerangeextractor.cpp b/src/tools/clangrefactoringbackend/source/sourcerangeextractor.cpp index 2a79260349e..97036695e7e 100644 --- a/src/tools/clangrefactoringbackend/source/sourcerangeextractor.cpp +++ b/src/tools/clangrefactoringbackend/source/sourcerangeextractor.cpp @@ -55,12 +55,20 @@ SourceRangeExtractor::SourceRangeExtractor(const clang::SourceManager &sourceMan { } +namespace { +template +std::reverse_iterator make_reverse_iterator(Iterator iterator) +{ + return std::reverse_iterator(iterator); +} +} + const char *SourceRangeExtractor::findStartOfLineInBuffer(llvm::StringRef buffer, uint startOffset) { auto beginText = buffer.begin() + startOffset; - auto reverseEnd = std::make_reverse_iterator(buffer.begin()); + auto reverseEnd = make_reverse_iterator(buffer.begin()); - auto found = std::find_if(std::make_reverse_iterator(beginText), + auto found = std::find_if(make_reverse_iterator(beginText), reverseEnd, [] (const char character) { return character == '\n' || character == '\r';