Fix PR14591: Windows newlines in doxygen comments cause failed assertion in
TextDiagnostic

Patch by Janusz Chorko.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170566 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/CommentParser.cpp b/lib/AST/CommentParser.cpp
index 7113f14..a7ba013 100644
--- a/lib/AST/CommentParser.cpp
+++ b/lib/AST/CommentParser.cpp
@@ -175,8 +175,7 @@
     memcpy(TextPtr, WordText.c_str(), Length + 1);
     StringRef Text = StringRef(TextPtr, Length);
 
-    formTokenWithChars(Tok, Loc, WordBegin,
-                       Pos.BufferPtr - WordBegin, Text);
+    formTokenWithChars(Tok, Loc, WordBegin, Length, Text);
     return true;
   }
 
diff --git a/test/Sema/warn-documentation-crlf.c b/test/Sema/warn-documentation-crlf.c
new file mode 100644
index 0000000..99c0714
--- /dev/null
+++ b/test/Sema/warn-documentation-crlf.c
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -fsyntax-only -Wdocumentation %s

+// The run line does not have '-verify' because we were crashing while printing

+// the diagnostic.

+

+// This file has DOS-style line endings (CR LF).  Please don't change it to

+// Unix-style LF!

+

+// PR14591.  Check that we don't crash on this.

+/**

+ * @param abc

+ */

+void nocrash1(int qwerty);

+