From 6cffc1928ab734c79baa77fe1d639f90e826a19a Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko Date: Wed, 8 Aug 2012 22:10:24 +0000 Subject: [PATCH] Comment XML: use xml:space="preserve" in Verbatim tags, so that XML tidy does not compress spaces in verbatim content. llvm-svn: 161531 --- clang/bindings/xml/comment-xml-schema.rng | 3 +++ clang/test/Index/Inputs/CommentXML/valid-function-07.xml | 1 + clang/test/Index/annotate-comments.cpp | 2 +- clang/tools/libclang/CXComment.cpp | 6 +++--- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/clang/bindings/xml/comment-xml-schema.rng b/clang/bindings/xml/comment-xml-schema.rng index 69d8229d6b4d..a0329f8c3d7b 100644 --- a/clang/bindings/xml/comment-xml-schema.rng +++ b/clang/bindings/xml/comment-xml-schema.rng @@ -385,6 +385,9 @@ + + preserve + diff --git a/clang/test/Index/Inputs/CommentXML/valid-function-07.xml b/clang/test/Index/Inputs/CommentXML/valid-function-07.xml index 1521e2aa1647..89b8a0ca6fc8 100644 --- a/clang/test/Index/Inputs/CommentXML/valid-function-07.xml +++ b/clang/test/Index/Inputs/CommentXML/valid-function-07.xml @@ -24,6 +24,7 @@ Eee. Fff + Ggg diff --git a/clang/test/Index/annotate-comments.cpp b/clang/test/Index/annotate-comments.cpp index fbaefca6d557..765d99649473 100644 --- a/clang/test/Index/annotate-comments.cpp +++ b/clang/test/Index/annotate-comments.cpp @@ -778,7 +778,7 @@ enum class comment_to_xml_conversion_17 { // CHECK-NEXT: (CXComment_HTMLStartTag Name=[a] Attrs: href=http://example.com/) // CHECK-NEXT: (CXComment_Text Text=[Aaa]) // CHECK-NEXT: (CXComment_HTMLEndTag Name=[a])))] -// CHECK: annotate-comments.cpp:338:6: FunctionDecl=comment_to_html_conversion_24:{{.*}} FullCommentAsHTML=[
 <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a>
] FullCommentAsXML=[comment_to_html_conversion_24c:@F@comment_to_html_conversion_24# <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a>] +// CHECK: annotate-comments.cpp:338:6: FunctionDecl=comment_to_html_conversion_24:{{.*}} FullCommentAsHTML=[
 <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a>
] FullCommentAsXML=[comment_to_html_conversion_24c:@F@comment_to_html_conversion_24# <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a>] // CHECK-NEXT: CommentAST=[ // CHECK-NEXT: (CXComment_FullComment // CHECK-NEXT: (CXComment_Paragraph IsWhitespace diff --git a/clang/tools/libclang/CXComment.cpp b/clang/tools/libclang/CXComment.cpp index 4e7bf7695134..4606fdced987 100644 --- a/clang/tools/libclang/CXComment.cpp +++ b/clang/tools/libclang/CXComment.cpp @@ -982,8 +982,8 @@ void CommentASTToXMLConverter::visitVerbatimBlockComment( return; Result << llvm::StringSwitch(C->getCommandName()) - .Case("code", "") - .Default(""); + .Case("code", "") + .Default(""); for (unsigned i = 0; i != NumLines; ++i) { appendToResultWithXMLEscaping(C->getText(i)); if (i + 1 != NumLines) @@ -999,7 +999,7 @@ void CommentASTToXMLConverter::visitVerbatimBlockLineComment( void CommentASTToXMLConverter::visitVerbatimLineComment( const VerbatimLineComment *C) { - Result << ""; + Result << ""; appendToResultWithXMLEscaping(C->getText()); Result << ""; }