forked from qt-creator/qt-creator
Clang: Workaround missing std::make_reverse_iterator
Because of the ancient compiler support we cannot use std::make_reverse_iterator. If we support newer compilers we can revert this patch. Change-Id: I9b20ab1e53a0e9784b0455eafbbfd966797ad91e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -55,12 +55,20 @@ SourceRangeExtractor::SourceRangeExtractor(const clang::SourceManager &sourceMan
|
||||
{
|
||||
}
|
||||
|
||||
namespace {
|
||||
template<typename Iterator>
|
||||
std::reverse_iterator<Iterator> make_reverse_iterator(Iterator iterator)
|
||||
{
|
||||
return std::reverse_iterator<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';
|
||||
|
Reference in New Issue
Block a user