Fix PR14591: Windows newlines in doxygen comments cause failed assertion in
authorDmitri Gribenko <gribozavr@gmail.com>
Wed, 19 Dec 2012 17:34:55 +0000 (17:34 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Wed, 19 Dec 2012 17:34:55 +0000 (17:34 +0000)
TextDiagnostic

Patch by Janusz Chorko.

llvm-svn: 170566

clang/lib/AST/CommentParser.cpp
clang/test/Sema/warn-documentation-crlf.c [new file with mode: 0644]

index 7113f14..a7ba013 100644 (file)
@@ -175,8 +175,7 @@ public:
     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/clang/test/Sema/warn-documentation-crlf.c b/clang/test/Sema/warn-documentation-crlf.c
new file mode 100644 (file)
index 0000000..99c0714
--- /dev/null
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -fsyntax-only -Wdocumentation %s\r
+// The run line does not have '-verify' because we were crashing while printing\r
+// the diagnostic.\r
+\r
+// This file has DOS-style line endings (CR LF).  Please don't change it to\r
+// Unix-style LF!\r
+\r
+// PR14591.  Check that we don't crash on this.\r
+/**\r
+ * @param abc\r
+ */\r
+void nocrash1(int qwerty);\r
+\r