aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Rewrite/InclusionRewriter.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/lib/Rewrite/InclusionRewriter.cpp b/lib/Rewrite/InclusionRewriter.cpp
index c6a4e24c7a..8fb5a8b32f 100644
--- a/lib/Rewrite/InclusionRewriter.cpp
+++ b/lib/Rewrite/InclusionRewriter.cpp
@@ -174,16 +174,6 @@ InclusionRewriter::FindFileChangeLocation(SourceLocation Loc) const {
return NULL;
}
-/// Count the raw \\n characters in the \p Len characters from \p Pos.
-inline unsigned CountNewLines(const char *Pos, int Len) {
- const char *End = Pos + Len;
- unsigned Lines = 0;
- --Pos;
- while ((Pos = static_cast<const char*>(memchr(Pos + 1, '\n', End - Pos - 1))))
- ++Lines;
- return Lines;
-}
-
/// Detect the likely line ending style of \p FromFile by examining the first
/// newline found within it.
static StringRef DetectEOL(const MemoryBuffer &FromFile) {
@@ -209,8 +199,8 @@ void InclusionRewriter::OutputContentUpTo(const MemoryBuffer &FromFile,
return;
OS.write(FromFile.getBufferStart() + WriteFrom, WriteTo - WriteFrom);
// count lines manually, it's faster than getPresumedLoc()
- Line += CountNewLines(FromFile.getBufferStart() + WriteFrom,
- WriteTo - WriteFrom);
+ Line += std::count(FromFile.getBufferStart() + WriteFrom,
+ FromFile.getBufferStart() + WriteTo, '\n');
if (EnsureNewline) {
char LastChar = FromFile.getBufferStart()[WriteTo - 1];
if (LastChar != '\n' && LastChar != '\r')