1146 lines · cpp
1// RUN: rm -rf %t2// RUN: mkdir %t3 4// This file contains UTF-8 sequences. Please don't "fix" them!5 6// Check that we serialize comment source locations properly.7// RUN: %clang_cc1 -x c++ -std=c++11 -emit-pch -o %t/out.pch %s8// RUN: %clang_cc1 -x c++ -std=c++11 -include-pch %t/out.pch -fsyntax-only %s9 10// RUN: c-index-test -write-pch %t/out.pch -x c++ -std=c++11 %s11// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s -std=c++11 > %t/out.c-index-direct12// RUN: c-index-test -test-load-tu %t/out.pch all > %t/out.c-index-pch13 14// RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-direct15// RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-pch16 17// Ensure that XML is not invalid18// WRONG-NOT: CommentXMLInvalid19 20// RUN: FileCheck %s < %t/out.c-index-direct21// RUN: FileCheck %s < %t/out.c-index-pch22 23// XFAIL: valgrind24 25#ifndef HEADER26#define HEADER27 28//===---29// Tests for \brief and its aliases.30//===---31 32/// Aaa.33void test_cmd_brief_like_1();34 35// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_1:{{.*}} BriefComment=[Aaa.] FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_1</Name><USR>c:@F@test_cmd_brief_like_1#</USR><Declaration>void test_cmd_brief_like_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]36// CHECK-NEXT: CommentAST=[37// CHECK-NEXT: (CXComment_FullComment38// CHECK-NEXT: (CXComment_Paragraph39// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])))]40 41/// \brief Aaa.42void test_cmd_brief_like_2();43 44// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_2:{{.*}} BriefComment=[Aaa.] FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_2</Name><USR>c:@F@test_cmd_brief_like_2#</USR><Declaration>void test_cmd_brief_like_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]45// CHECK-NEXT: CommentAST=[46// CHECK-NEXT: (CXComment_FullComment47// CHECK-NEXT: (CXComment_Paragraph IsWhitespace48// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))49// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]50// CHECK-NEXT: (CXComment_Paragraph51// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]52 53/// \short Aaa.54void test_cmd_brief_like_3();55 56// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_3:{{.*}} BriefComment=[Aaa.] FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_3</Name><USR>c:@F@test_cmd_brief_like_3#</USR><Declaration>void test_cmd_brief_like_3()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]57// CHECK-NEXT: CommentAST=[58// CHECK-NEXT: (CXComment_FullComment59// CHECK-NEXT: (CXComment_Paragraph IsWhitespace60// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))61// CHECK-NEXT: (CXComment_BlockCommand CommandName=[short]62// CHECK-NEXT: (CXComment_Paragraph63// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]64 65/// Aaa.66///67/// \brief Bbb.68void test_cmd_brief_like_4();69 70// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_4:{{.*}} BriefComment=[Bbb.] FullCommentAsHTML=[<p class="para-brief"> Bbb.</p><p> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_4</Name><USR>c:@F@test_cmd_brief_like_4#</USR><Declaration>void test_cmd_brief_like_4()</Declaration><Abstract><Para> Bbb.</Para></Abstract><Discussion><Para> Aaa.</Para></Discussion></Function>]71// CHECK-NEXT: CommentAST=[72// CHECK-NEXT: (CXComment_FullComment73// CHECK-NEXT: (CXComment_Paragraph74// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))75// CHECK-NEXT: (CXComment_Paragraph IsWhitespace76// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))77// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]78// CHECK-NEXT: (CXComment_Paragraph79// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]80 81/// Aaa.82///83/// \brief Bbb.84///85/// Ccc.86void test_cmd_brief_like_5();87 88// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_5:{{.*}} BriefComment=[Bbb.] FullCommentAsHTML=[<p class="para-brief"> Bbb.</p><p> Aaa.</p><p> Ccc.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_5</Name><USR>c:@F@test_cmd_brief_like_5#</USR><Declaration>void test_cmd_brief_like_5()</Declaration><Abstract><Para> Bbb.</Para></Abstract><Discussion><Para> Aaa.</Para><Para> Ccc.</Para></Discussion></Function>]89// CHECK-NEXT: CommentAST=[90// CHECK-NEXT: (CXComment_FullComment91// CHECK-NEXT: (CXComment_Paragraph92// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))93// CHECK-NEXT: (CXComment_Paragraph IsWhitespace94// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))95// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]96// CHECK-NEXT: (CXComment_Paragraph97// CHECK-NEXT: (CXComment_Text Text=[ Bbb.])))98// CHECK-NEXT: (CXComment_Paragraph99// CHECK-NEXT: (CXComment_Text Text=[ Ccc.])))]100 101/// \brief Aaa.102/// \brief Bbb.103void test_cmd_brief_like_6();104 105// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_6:{{.*}} BriefComment=[Bbb.] FullCommentAsHTML=[<p class="para-brief"> Aaa. </p><p class="para-brief"> Bbb.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_6</Name><USR>c:@F@test_cmd_brief_like_6#</USR><Declaration>void test_cmd_brief_like_6()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para> Bbb.</Para></Discussion></Function>]106// CHECK-NEXT: CommentAST=[107// CHECK-NEXT: (CXComment_FullComment108// CHECK-NEXT: (CXComment_Paragraph IsWhitespace109// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))110// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]111// CHECK-NEXT: (CXComment_Paragraph112// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)113// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))114// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]115// CHECK-NEXT: (CXComment_Paragraph116// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]117 118/// \abstract Aaa.119///120/// Bbb.121void test_cmd_brief_like_7();122 123// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_brief_like_7:{{.*}} BriefComment=[Aaa.] FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p> Bbb.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_brief_like_7</Name><USR>c:@F@test_cmd_brief_like_7#</USR><Declaration>void test_cmd_brief_like_7()</Declaration><Abstract><Para> Aaa.</Para></Abstract><Discussion><Para> Bbb.</Para></Discussion></Function>]124// CHECK-NEXT: CommentAST=[125// CHECK-NEXT: (CXComment_FullComment126// CHECK-NEXT: (CXComment_Paragraph IsWhitespace127// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))128// CHECK-NEXT: (CXComment_BlockCommand CommandName=[abstract]129// CHECK-NEXT: (CXComment_Paragraph130// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])))131// CHECK-NEXT: (CXComment_Paragraph132// CHECK-NEXT: (CXComment_Text Text=[ Bbb.])))]133 134//===---135// Tests for \returns and its aliases.136//===---137 138/// Aaa.139///140/// \return Bbb.141void test_cmd_returns_like_1();142 143// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_returns_like_1:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_returns_like_1</Name><USR>c:@F@test_cmd_returns_like_1#</USR><Declaration>void test_cmd_returns_like_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]144 145// CHECK-NEXT: CommentAST=[146// CHECK-NEXT: (CXComment_FullComment147// CHECK-NEXT: (CXComment_Paragraph148// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))149// CHECK-NEXT: (CXComment_Paragraph IsWhitespace150// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))151// CHECK-NEXT: (CXComment_BlockCommand CommandName=[return]152// CHECK-NEXT: (CXComment_Paragraph153// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]154 155/// Aaa.156///157/// \returns Bbb.158void test_cmd_returns_like_2();159 160// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_returns_like_2:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_returns_like_2</Name><USR>c:@F@test_cmd_returns_like_2#</USR><Declaration>void test_cmd_returns_like_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]161// CHECK-NEXT: CommentAST=[162// CHECK-NEXT: (CXComment_FullComment163// CHECK-NEXT: (CXComment_Paragraph164// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))165// CHECK-NEXT: (CXComment_Paragraph IsWhitespace166// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))167// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns]168// CHECK-NEXT: (CXComment_Paragraph169// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]170 171/// Aaa.172///173/// \result Bbb.174void test_cmd_returns_like_3();175 176// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_returns_like_3:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_returns_like_3</Name><USR>c:@F@test_cmd_returns_like_3#</USR><Declaration>void test_cmd_returns_like_3()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]177// CHECK-NEXT: CommentAST=[178// CHECK-NEXT: (CXComment_FullComment179// CHECK-NEXT: (CXComment_Paragraph180// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))181// CHECK-NEXT: (CXComment_Paragraph IsWhitespace182// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))183// CHECK-NEXT: (CXComment_BlockCommand CommandName=[result]184// CHECK-NEXT: (CXComment_Paragraph185// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]186 187/// \returns Aaa.188/// \returns Bbb.189void test_cmd_returns_like_4();190 191// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_returns_like_4:{{.*}} FullCommentAsHTML=[<div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Aaa. </p><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_returns_like_4</Name><USR>c:@F@test_cmd_returns_like_4#</USR><Declaration>void test_cmd_returns_like_4()</Declaration><ResultDiscussion><Para> Aaa. </Para><Para> Bbb.</Para></ResultDiscussion></Function>]192// CHECK-NEXT: CommentAST=[193// CHECK-NEXT: (CXComment_FullComment194// CHECK-NEXT: (CXComment_Paragraph IsWhitespace195// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))196// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns]197// CHECK-NEXT: (CXComment_Paragraph198// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)199// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))200// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns]201// CHECK-NEXT: (CXComment_Paragraph202// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]203 204/// Aaa.205///206/// Bbb.207///208/// \returns Ccc.209void test_cmd_returns_like_5();210 211// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_returns_like_5:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p> Bbb.</p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Ccc.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_returns_like_5</Name><USR>c:@F@test_cmd_returns_like_5#</USR><Declaration>void test_cmd_returns_like_5()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Ccc.</Para></ResultDiscussion><Discussion><Para> Bbb.</Para></Discussion></Function>]212// CHECK-NEXT: CommentAST=[213// CHECK-NEXT: (CXComment_FullComment214// CHECK-NEXT: (CXComment_Paragraph215// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))216// CHECK-NEXT: (CXComment_Paragraph217// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))218// CHECK-NEXT: (CXComment_Paragraph IsWhitespace219// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))220// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns]221// CHECK-NEXT: (CXComment_Paragraph222// CHECK-NEXT: (CXComment_Text Text=[ Ccc.]))))]223 224//===---225// Tests for \param.226//===---227 228/// \param229void test_cmd_param_1(int x1);230 231// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_1:{{.*}} FullCommentAsHTML=[] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_1</Name><USR>c:@F@test_cmd_param_1#I#</USR><Declaration>void test_cmd_param_1(int x1)</Declaration></Function>]232// CHECK-NEXT: CommentAST=[233// CHECK-NEXT: (CXComment_FullComment234// CHECK-NEXT: (CXComment_Paragraph IsWhitespace235// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))236// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[] ParamIndex=Invalid237// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]238 239/// \param x1 Aaa.240void test_cmd_param_2(int x1);241 242// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_2:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_2</Name><USR>c:@F@test_cmd_param_2#I#</USR><Declaration>void test_cmd_param_2(int x1)</Declaration><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter></Parameters></Function>]243// CHECK-NEXT: CommentAST=[244// CHECK-NEXT: (CXComment_FullComment245// CHECK-NEXT: (CXComment_Paragraph IsWhitespace246// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))247// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0248// CHECK-NEXT: (CXComment_Paragraph249// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]250 251/// \param zzz Aaa.252void test_cmd_param_3(int x1);253 254// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_3:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-invalid">zzz</dt><dd class="param-descr-index-invalid"> Aaa.</dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_3</Name><USR>c:@F@test_cmd_param_3#I#</USR><Declaration>void test_cmd_param_3(int x1)</Declaration><Parameters><Parameter><Name>zzz</Name><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter></Parameters></Function>]255// CHECK-NEXT: CommentAST=[256// CHECK-NEXT: (CXComment_FullComment257// CHECK-NEXT: (CXComment_Paragraph IsWhitespace258// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))259// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid260// CHECK-NEXT: (CXComment_Paragraph261// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]262 263/// \param x2 Bbb.264/// \param x1 Aaa.265void test_cmd_param_4(int x1, int x2);266 267// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_4:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Bbb. </dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_4</Name><USR>c:@F@test_cmd_param_4#I#I#</USR><Declaration>void test_cmd_param_4(int x1, int x2)</Declaration><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter><Parameter><Name>x2</Name><Index>1</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Bbb. </Para></Discussion></Parameter></Parameters></Function>]268// CHECK-NEXT: CommentAST=[269// CHECK-NEXT: (CXComment_FullComment270// CHECK-NEXT: (CXComment_Paragraph IsWhitespace271// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))272// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1273// CHECK-NEXT: (CXComment_Paragraph274// CHECK-NEXT: (CXComment_Text Text=[ Bbb.] HasTrailingNewline)275// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))276// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0277// CHECK-NEXT: (CXComment_Paragraph278// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]279 280/// \param x2 Bbb.281/// \param zzz Aaa.282/// \param x1 Aaa.283void test_cmd_param_5(int x1, int x2);284 285// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_5:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Bbb. </dd><dt class="param-name-index-invalid">zzz</dt><dd class="param-descr-index-invalid"> Aaa. </dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_5</Name><USR>c:@F@test_cmd_param_5#I#I#</USR><Declaration>void test_cmd_param_5(int x1, int x2)</Declaration><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter><Parameter><Name>x2</Name><Index>1</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Bbb. </Para></Discussion></Parameter><Parameter><Name>zzz</Name><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa. </Para></Discussion></Parameter></Parameters></Function>]286// CHECK-NEXT: CommentAST=[287// CHECK-NEXT: (CXComment_FullComment288// CHECK-NEXT: (CXComment_Paragraph IsWhitespace289// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))290// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1291// CHECK-NEXT: (CXComment_Paragraph292// CHECK-NEXT: (CXComment_Text Text=[ Bbb.] HasTrailingNewline)293// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))294// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid295// CHECK-NEXT: (CXComment_Paragraph296// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)297// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))298// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0299// CHECK-NEXT: (CXComment_Paragraph300// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))]301 302/// \param x1 Aaa.303/// \param ... Bbb.304void test_cmd_param_6(int x1, ...);305 306// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_cmd_param_6:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa. </dd><dt class="param-name-index-vararg">...</dt><dd class="param-descr-index-vararg"> Bbb.</dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_param_6</Name><USR>c:@F@test_cmd_param_6#I.#</USR><Declaration>void test_cmd_param_6(int x1, ...)</Declaration><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa. </Para></Discussion></Parameter><Parameter><Name>...</Name><IsVarArg /><Direction isExplicit="0">in</Direction><Discussion><Para> Bbb.</Para></Discussion></Parameter></Parameters></Function>]307// CHECK-NEXT: CommentAST=[308// CHECK-NEXT: (CXComment_FullComment309// CHECK-NEXT: (CXComment_Paragraph IsWhitespace310// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))311// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0312// CHECK-NEXT: (CXComment_Paragraph313// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)314// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))315// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[...] ParamIndex=4294967295316// CHECK-NEXT: (CXComment_Paragraph317// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))]318 319//===---320// Tests for \tparam.321//===---322 323/// \tparam324/// \param aaa Blah blah325template<typename T>326void test_cmd_tparam_1(T aaa);327 328// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=test_cmd_tparam_1:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">aaa</dt><dd class="param-descr-index-0"> Blah blah</dd></dl>] FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_tparam_1</Name><USR>c:@FT@>1#Ttest_cmd_tparam_1#t0.0#v#</USR><Declaration>template <typename T> void test_cmd_tparam_1(T aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah</Para></Discussion></Parameter></Parameters></Function>]329// CHECK-NEXT: CommentAST=[330// CHECK-NEXT: (CXComment_FullComment331// CHECK-NEXT: (CXComment_Paragraph IsWhitespace332// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))333// CHECK-NEXT: (CXComment_TParamCommand ParamName=[] ParamPosition=Invalid334// CHECK-NEXT: (CXComment_Paragraph IsWhitespace335// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))336// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[aaa] ParamIndex=0337// CHECK-NEXT: (CXComment_Paragraph338// CHECK-NEXT: (CXComment_Text Text=[ Blah blah]))))]339 340/// \tparam T341/// \param aaa Blah blah342template<typename T>343void test_cmd_tparam_2(T aaa);344 345// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=test_cmd_tparam_2:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">aaa</dt><dd class="param-descr-index-0"> Blah blah</dd></dl>] FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_tparam_2</Name><USR>c:@FT@>1#Ttest_cmd_tparam_2#t0.0#v#</USR><Declaration>template <typename T> void test_cmd_tparam_2(T aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah</Para></Discussion></Parameter></Parameters></Function>]346// CHECK-NEXT: CommentAST=[347// CHECK-NEXT: (CXComment_FullComment348// CHECK-NEXT: (CXComment_Paragraph IsWhitespace349// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))350// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T] ParamPosition={0}351// CHECK-NEXT: (CXComment_Paragraph IsWhitespace352// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))353// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[aaa] ParamIndex=0354// CHECK-NEXT: (CXComment_Paragraph355// CHECK-NEXT: (CXComment_Text Text=[ Blah blah]))))]356 357/// \tparam T2 Bbb358/// \tparam T1 Aaa359template<typename T1, typename T2>360void test_cmd_tparam_3(T1 aaa, T2 bbb);361 362// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=test_cmd_tparam_3:{{.*}} FullCommentAsHTML=[<dl><dt class="tparam-name-index-0">T1</dt><dd class="tparam-descr-index-0"> Aaa</dd><dt class="tparam-name-index-1">T2</dt><dd class="tparam-descr-index-1"> Bbb </dd></dl>] FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_tparam_3</Name><USR>c:@FT@>2#T#Ttest_cmd_tparam_3#t0.0#t0.1#v#</USR><Declaration>template <typename T1, typename T2> void test_cmd_tparam_3(T1 aaa, T2 bbb)</Declaration><TemplateParameters><Parameter><Name>T1</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>T2</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter></TemplateParameters></Function>]363// CHECK-NEXT: CommentAST=[364// CHECK-NEXT: (CXComment_FullComment365// CHECK-NEXT: (CXComment_Paragraph IsWhitespace366// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))367// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T2] ParamPosition={1}368// CHECK-NEXT: (CXComment_Paragraph369// CHECK-NEXT: (CXComment_Text Text=[ Bbb] HasTrailingNewline)370// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))371// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T1] ParamPosition={0}372// CHECK-NEXT: (CXComment_Paragraph373// CHECK-NEXT: (CXComment_Text Text=[ Aaa]))))]374 375/// \tparam T2 Bbb376/// \tparam U Zzz377/// \tparam V Ccc378/// \tparam T1 Aaa379template<typename T1, typename T2, int V>380void test_cmd_tparam_4(T1 aaa, T2 bbb);381 382// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=test_cmd_tparam_4:{{.*}} FullCommentAsHTML=[<dl><dt class="tparam-name-index-0">T1</dt><dd class="tparam-descr-index-0"> Aaa</dd><dt class="tparam-name-index-1">T2</dt><dd class="tparam-descr-index-1"> Bbb </dd><dt class="tparam-name-index-2">V</dt><dd class="tparam-descr-index-2"> Ccc </dd><dt class="tparam-name-index-invalid">U</dt><dd class="tparam-descr-index-invalid"> Zzz </dd></dl>] FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_tparam_4</Name><USR>c:@FT@>3#T#T#NItest_cmd_tparam_4#t0.0#t0.1#v#</USR><Declaration>template <typename T1, typename T2, int V>\nvoid test_cmd_tparam_4(T1 aaa, T2 bbb)</Declaration><TemplateParameters><Parameter><Name>T1</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>T2</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter><Parameter><Name>V</Name><Index>2</Index><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>U</Name><Discussion><Para> Zzz </Para></Discussion></Parameter></TemplateParameters></Function>]383// CHECK-NEXT: CommentAST=[384// CHECK-NEXT: (CXComment_FullComment385// CHECK-NEXT: (CXComment_Paragraph IsWhitespace386// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))387// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T2] ParamPosition={1}388// CHECK-NEXT: (CXComment_Paragraph389// CHECK-NEXT: (CXComment_Text Text=[ Bbb] HasTrailingNewline)390// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))391// CHECK-NEXT: (CXComment_TParamCommand ParamName=[U] ParamPosition=Invalid392// CHECK-NEXT: (CXComment_Paragraph393// CHECK-NEXT: (CXComment_Text Text=[ Zzz] HasTrailingNewline)394// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))395// CHECK-NEXT: (CXComment_TParamCommand ParamName=[V] ParamPosition={2}396// CHECK-NEXT: (CXComment_Paragraph397// CHECK-NEXT: (CXComment_Text Text=[ Ccc] HasTrailingNewline)398// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))399// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T1] ParamPosition={0}400// CHECK-NEXT: (CXComment_Paragraph401// CHECK-NEXT: (CXComment_Text Text=[ Aaa]))))]402 403/// \tparam TTT Ddd404/// \tparam C Ccc405/// \tparam T Aaa406/// \tparam TT Bbb407template<template<template<typename T> class TT, class C> class TTT>408void test_cmd_tparam_5();409 410// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=test_cmd_tparam_5:{{.*}} FullCommentAsHTML=[<dl><dt class="tparam-name-index-0">TTT</dt><dd class="tparam-descr-index-0"> Ddd </dd><dt class="tparam-name-index-other">C</dt><dd class="tparam-descr-index-other"> Ccc </dd><dt class="tparam-name-index-other">T</dt><dd class="tparam-descr-index-other"> Aaa </dd><dt class="tparam-name-index-other">TT</dt><dd class="tparam-descr-index-other"> Bbb</dd></dl>] FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_cmd_tparam_5</Name><USR>c:@FT@>1#t>2#t>1#T#Ttest_cmd_tparam_5#v#</USR><Declaration>template <template <template <typename T> class TT, class C> class TTT>\nvoid test_cmd_tparam_5()</Declaration><TemplateParameters><Parameter><Name>TTT</Name><Index>0</Index><Discussion><Para> Ddd </Para></Discussion></Parameter><Parameter><Name>C</Name><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>T</Name><Discussion><Para> Aaa </Para></Discussion></Parameter><Parameter><Name>TT</Name><Discussion><Para> Bbb</Para></Discussion></Parameter></TemplateParameters></Function>]411// CHECK-NEXT: CommentAST=[412// CHECK-NEXT: (CXComment_FullComment413// CHECK-NEXT: (CXComment_Paragraph IsWhitespace414// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))415// CHECK-NEXT: (CXComment_TParamCommand ParamName=[TTT] ParamPosition={0}416// CHECK-NEXT: (CXComment_Paragraph417// CHECK-NEXT: (CXComment_Text Text=[ Ddd] HasTrailingNewline)418// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))419// CHECK-NEXT: (CXComment_TParamCommand ParamName=[C] ParamPosition={0, 1}420// CHECK-NEXT: (CXComment_Paragraph421// CHECK-NEXT: (CXComment_Text Text=[ Ccc] HasTrailingNewline)422// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))423// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T] ParamPosition={0, 0, 0}424// CHECK-NEXT: (CXComment_Paragraph425// CHECK-NEXT: (CXComment_Text Text=[ Aaa] HasTrailingNewline)426// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))427// CHECK-NEXT: (CXComment_TParamCommand ParamName=[TT] ParamPosition={0, 0}428// CHECK-NEXT: (CXComment_Paragraph429// CHECK-NEXT: (CXComment_Text Text=[ Bbb]))))]430 431//===---432// Tests for interaction between commands.433//===---434 435/// \brief Aaa.436///437/// Bbb.438///439/// \param x2 Ddd.440/// \param x1 Ccc.441/// \returns Eee.442void test_full_comment_1(int x1, int x2);443 444// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=test_full_comment_1:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p> Bbb.</p><dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Ccc. </dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Ddd. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Eee.</p></div>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>test_full_comment_1</Name><USR>c:@F@test_full_comment_1#I#I#</USR><Declaration>void test_full_comment_1(int x1, int x2)</Declaration><Abstract><Para> Aaa.</Para></Abstract><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Ccc. </Para></Discussion></Parameter><Parameter><Name>x2</Name><Index>1</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Ddd. </Para></Discussion></Parameter></Parameters><ResultDiscussion><Para> Eee.</Para></ResultDiscussion><Discussion><Para> Bbb.</Para></Discussion></Function>]445// CHECK-NEXT: CommentAST=[446// CHECK-NEXT: (CXComment_FullComment447// CHECK-NEXT: (CXComment_Paragraph IsWhitespace448// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))449// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief]450// CHECK-NEXT: (CXComment_Paragraph451// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])))452// CHECK-NEXT: (CXComment_Paragraph453// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))454// CHECK-NEXT: (CXComment_Paragraph IsWhitespace455// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))456// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1457// CHECK-NEXT: (CXComment_Paragraph458// CHECK-NEXT: (CXComment_Text Text=[ Ddd.] HasTrailingNewline)459// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))460// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0461// CHECK-NEXT: (CXComment_Paragraph462// CHECK-NEXT: (CXComment_Text Text=[ Ccc.] HasTrailingNewline)463// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))464// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns]465// CHECK-NEXT: (CXComment_Paragraph466// CHECK-NEXT: (CXComment_Text Text=[ Eee.]))))]467 468//===---469// Misc tests.470//===---471 472/// <br><a href="http://example.com/">Aaa</a>473void comment_to_html_conversion_24();474 475// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_24:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <br><a href="http://example.com/">Aaa</a></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_24</Name><USR>c:@F@comment_to_html_conversion_24#</USR><Declaration>void comment_to_html_conversion_24()</Declaration><Abstract><Para> <rawHTML><![CDATA[<br>]]></rawHTML><rawHTML><![CDATA[<a href="http://example.com/">]]></rawHTML>Aaa<rawHTML></a></rawHTML></Para></Abstract></Function>]476// CHECK-NEXT: CommentAST=[477// CHECK-NEXT: (CXComment_FullComment478// CHECK-NEXT: (CXComment_Paragraph479// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)480// CHECK-NEXT: (CXComment_HTMLStartTag Name=[br])481// CHECK-NEXT: (CXComment_HTMLStartTag Name=[a] Attrs: href=http://example.com/)482// CHECK-NEXT: (CXComment_Text Text=[Aaa])483// CHECK-NEXT: (CXComment_HTMLEndTag Name=[a])))]484 485/// \verbatim486/// <a href="http://example.com/">Aaa</a>487/// <a href='http://example.com/'>Aaa</a>488/// \endverbatim489void comment_to_html_conversion_25();490 491// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_25:{{.*}} FullCommentAsHTML=[<pre> <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a></pre>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_25</Name><USR>c:@F@comment_to_html_conversion_25#</USR><Declaration>void comment_to_html_conversion_25()</Declaration><Discussion><Verbatim xml:space="preserve" kind="verbatim"> <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a></Verbatim></Discussion></Function>]492// CHECK-NEXT: CommentAST=[493// CHECK-NEXT: (CXComment_FullComment494// CHECK-NEXT: (CXComment_Paragraph IsWhitespace495// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))496// CHECK-NEXT: (CXComment_VerbatimBlockCommand CommandName=[verbatim]497// CHECK-NEXT: (CXComment_VerbatimBlockLine Text=[ <a href="http://example.com/">Aaa</a>])498// CHECK-NEXT: (CXComment_VerbatimBlockLine Text=[ <a href='http://example.com/'>Aaa</a>])))]499 500/// \def foo_def501/// \fn foo_fn502/// \namespace foo_namespace503/// \overload foo_overload504/// \property foo_property505/// \typedef foo_typedef506/// \var foo_var507/// \function foo_function508/// \class foo_class509/// \method foo_method510/// \interface foo_interface511/// Blah blah.512void comment_to_html_conversion_26();513 514// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_26:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Blah blah.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_26</Name><USR>c:@F@comment_to_html_conversion_26#</USR><Declaration>void comment_to_html_conversion_26()</Declaration><Abstract><Para> Blah blah.</Para></Abstract></Function>]515// CHECK-NEXT: CommentAST=[516// CHECK-NEXT: (CXComment_FullComment517// CHECK-NEXT: (CXComment_Paragraph IsWhitespace518// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))519// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_def])520// CHECK-NEXT: (CXComment_Paragraph IsWhitespace521// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))522// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_fn])523// CHECK-NEXT: (CXComment_Paragraph IsWhitespace524// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))525// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_namespace])526// CHECK-NEXT: (CXComment_Paragraph IsWhitespace527// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))528// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_overload])529// CHECK-NEXT: (CXComment_Paragraph IsWhitespace530// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))531// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_property])532// CHECK-NEXT: (CXComment_Paragraph IsWhitespace533// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))534// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_typedef])535// CHECK-NEXT: (CXComment_Paragraph IsWhitespace536// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))537// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_var])538// CHECK-NEXT: (CXComment_Paragraph IsWhitespace539// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))540// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_function])541// CHECK-NEXT: (CXComment_Paragraph IsWhitespace542// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))543// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_class])544// CHECK-NEXT: (CXComment_Paragraph IsWhitespace545// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))546// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_method])547// CHECK-NEXT: (CXComment_Paragraph IsWhitespace548// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))549// CHECK-NEXT: (CXComment_VerbatimLine Text=[ foo_interface])550// CHECK-NEXT: (CXComment_Paragraph551// CHECK-NEXT: (CXComment_Text Text=[ Blah blah.])))]552 553/// \unknown554void comment_to_html_conversion_27();555 556// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_27:{{.*}} FullCommentAsHTML=[<p class="para-brief"> </p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_27</Name><USR>c:@F@comment_to_html_conversion_27#</USR><Declaration>void comment_to_html_conversion_27()</Declaration><Abstract><Para> </Para></Abstract></Function>]557// CHECK-NEXT: CommentAST=[558// CHECK-NEXT: (CXComment_FullComment559// CHECK-NEXT: (CXComment_Paragraph560// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)561// CHECK-NEXT: (CXComment_InlineCommand CommandName=[unknown] RenderNormal)))]562 563/// \b Aaa564void comment_to_html_conversion_28();565 566// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_28:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <b>Aaa</b></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_28</Name><USR>c:@F@comment_to_html_conversion_28#</USR><Declaration>void comment_to_html_conversion_28()</Declaration><Abstract><Para> <bold>Aaa</bold></Para></Abstract></Function>]567// CHECK-NEXT: CommentAST=[568// CHECK-NEXT: (CXComment_FullComment569// CHECK-NEXT: (CXComment_Paragraph570// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)571// CHECK-NEXT: (CXComment_InlineCommand CommandName=[b] RenderBold Arg[0]=Aaa)))]572 573/// \c Aaa \p Bbb574void comment_to_html_conversion_29();575 576// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_29:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <tt>Aaa</tt> <tt>Bbb</tt></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_29</Name><USR>c:@F@comment_to_html_conversion_29#</USR><Declaration>void comment_to_html_conversion_29()</Declaration><Abstract><Para> <monospaced>Aaa</monospaced> <monospaced>Bbb</monospaced></Para></Abstract></Function>]577// CHECK-NEXT: CommentAST=[578// CHECK-NEXT: (CXComment_FullComment579// CHECK-NEXT: (CXComment_Paragraph580// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)581// CHECK-NEXT: (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=Aaa)582// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)583// CHECK-NEXT: (CXComment_InlineCommand CommandName=[p] RenderMonospaced Arg[0]=Bbb)))]584 585/// \a Aaa \e Bbb \em Ccc586void comment_to_html_conversion_30();587 588// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_30:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>Aaa</em> <em>Bbb</em> <em>Ccc</em></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_30</Name><USR>c:@F@comment_to_html_conversion_30#</USR><Declaration>void comment_to_html_conversion_30()</Declaration><Abstract><Para> <emphasized>Aaa</emphasized> <emphasized>Bbb</emphasized> <emphasized>Ccc</emphasized></Para></Abstract></Function>]589// CHECK-NEXT: CommentAST=[590// CHECK-NEXT: (CXComment_FullComment591// CHECK-NEXT: (CXComment_Paragraph592// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)593// CHECK-NEXT: (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=Aaa)594// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)595// CHECK-NEXT: (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=Bbb)596// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)597// CHECK-NEXT: (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=Ccc)))]598 599/// \a 1<2 \e 3<4 \em 5<6 \param 7<8 aaa \tparam 9<10 bbb600void comment_to_html_conversion_31();601 602// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_31:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>1<2</em> <em>3<4</em> <em>5<6</em> </p><dl><dt class="tparam-name-index-invalid">9<10</dt><dd class="tparam-descr-index-invalid"> bbb</dd></dl><dl><dt class="param-name-index-invalid">7<8</dt><dd class="param-descr-index-invalid"> aaa </dd></dl>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_31</Name><USR>c:@F@comment_to_html_conversion_31#</USR><Declaration>void comment_to_html_conversion_31()</Declaration><Abstract><Para> <emphasized>1<2</emphasized> <emphasized>3<4</emphasized> <emphasized>5<6</emphasized> </Para></Abstract><TemplateParameters><Parameter><Name>9<10</Name><Discussion><Para> bbb</Para></Discussion></Parameter></TemplateParameters><Parameters><Parameter><Name>7<8</Name><Direction isExplicit="0">in</Direction><Discussion><Para> aaa </Para></Discussion></Parameter></Parameters></Function>]603// CHECK-NEXT: CommentAST=[604// CHECK-NEXT: (CXComment_FullComment605// CHECK-NEXT: (CXComment_Paragraph606// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)607// CHECK-NEXT: (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=1<2)608// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)609// CHECK-NEXT: (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=3<4)610// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)611// CHECK-NEXT: (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=5<6)612// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))613// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[7<8] ParamIndex=Invalid614// CHECK-NEXT: (CXComment_Paragraph615// CHECK-NEXT: (CXComment_Text Text=[ aaa ])))616// CHECK-NEXT: (CXComment_TParamCommand ParamName=[9<10] ParamPosition=Invalid617// CHECK-NEXT: (CXComment_Paragraph618// CHECK-NEXT: (CXComment_Text Text=[ bbb]))))]619 620/// \\ \@ \& \$ \# \< \> \% \" \. \::621void comment_to_html_conversion_32();622 623// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_32:{{.*}} FullCommentAsHTML=[<p class="para-brief"> \ @ & $ # < > % " . ::</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_32</Name><USR>c:@F@comment_to_html_conversion_32#</USR><Declaration>void comment_to_html_conversion_32()</Declaration><Abstract><Para> \ @ & $ # < > % " . ::</Para></Abstract></Function>]624// CHECK-NEXT: CommentAST=[625// CHECK-NEXT: (CXComment_FullComment626// CHECK-NEXT: (CXComment_Paragraph627// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)628// CHECK-NEXT: (CXComment_Text Text=[\])629// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)630// CHECK-NEXT: (CXComment_Text Text=[@])631// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)632// CHECK-NEXT: (CXComment_Text Text=[&])633// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)634// CHECK-NEXT: (CXComment_Text Text=[$])635// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)636// CHECK-NEXT: (CXComment_Text Text=[#])637// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)638// CHECK-NEXT: (CXComment_Text Text=[<])639// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)640// CHECK-NEXT: (CXComment_Text Text=[>])641// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)642// CHECK-NEXT: (CXComment_Text Text=[%])643// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)644// CHECK-NEXT: (CXComment_Text Text=["])645// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)646// CHECK-NEXT: (CXComment_Text Text=[.])647// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)648// CHECK-NEXT: (CXComment_Text Text=[::])))]649 650/// & < > " ' meow meow651void comment_to_html_conversion_33();652 653// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_33:{{.*}} FullCommentAsHTML=[<p class="para-brief"> & < > " ' meow meow</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_33</Name><USR>c:@F@comment_to_html_conversion_33#</USR><Declaration>void comment_to_html_conversion_33()</Declaration><Abstract><Para> & < > " ' meow meow</Para></Abstract></Function>]654// CHECK-NEXT: CommentAST=[655// CHECK-NEXT: (CXComment_FullComment656// CHECK-NEXT: (CXComment_Paragraph657// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)658// CHECK-NEXT: (CXComment_Text Text=[&])659// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)660// CHECK-NEXT: (CXComment_Text Text=[<])661// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)662// CHECK-NEXT: (CXComment_Text Text=[>])663// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)664// CHECK-NEXT: (CXComment_Text Text=["])665// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)666// CHECK-NEXT: (CXComment_Text Text=['])667// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)668// CHECK-NEXT: (CXComment_Text Text=[m])669// CHECK-NEXT: (CXComment_Text Text=[e])670// CHECK-NEXT: (CXComment_Text Text=[o])671// CHECK-NEXT: (CXComment_Text Text=[w])672// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)673// CHECK-NEXT: (CXComment_Text Text=[m])674// CHECK-NEXT: (CXComment_Text Text=[e])675// CHECK-NEXT: (CXComment_Text Text=[o])676// CHECK-NEXT: (CXComment_Text Text=[w])))]677 678/// <em>0<i</em>679void comment_to_html_conversion_34();680 681// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_34:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>0<i</em></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_34</Name><USR>c:@F@comment_to_html_conversion_34#</USR><Declaration>void comment_to_html_conversion_34()</Declaration><Abstract><Para> <rawHTML><![CDATA[<em>]]></rawHTML>0<i<rawHTML></em></rawHTML></Para></Abstract></Function>]682// CHECK-NEXT: CommentAST=[683// CHECK-NEXT: (CXComment_FullComment684// CHECK-NEXT: (CXComment_Paragraph685// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)686// CHECK-NEXT: (CXComment_HTMLStartTag Name=[em])687// CHECK-NEXT: (CXComment_Text Text=[0])688// CHECK-NEXT: (CXComment_Text Text=[<])689// CHECK-NEXT: (CXComment_Text Text=[i])690// CHECK-NEXT: (CXComment_HTMLEndTag Name=[em])))]691 692/// © the copyright symbol693/// ™ the trade mark symbol694/// ® the registered trade mark symbol695/// a non-breakable space.696/// Δ Greek letter Delta Δ.697/// Γ Greek letter Gamma Γ.698void comment_to_html_conversion_35();699 700// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_35:{{.*}} FullCommentAsHTML=[<p class="para-brief"> © the copyright symbol ™ the trade mark symbol ® the registered trade mark symbol a non-breakable space. Δ Greek letter Delta Δ. Γ Greek letter Gamma Γ.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_35</Name><USR>c:@F@comment_to_html_conversion_35#</USR><Declaration>void comment_to_html_conversion_35()</Declaration><Abstract><Para> © the copyright symbol ™ the trade mark symbol ® the registered trade mark symbol a non-breakable space. Δ Greek letter Delta Δ. Γ Greek letter Gamma Γ.</Para></Abstract></Function>]701// CHECK-NEXT: CommentAST=[702// CHECK-NEXT: (CXComment_FullComment703// CHECK-NEXT: (CXComment_Paragraph704// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)705// CHECK-NEXT: (CXComment_Text Text=[©])706// CHECK-NEXT: (CXComment_Text Text=[ the copyright symbol] HasTrailingNewline)707// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)708// CHECK-NEXT: (CXComment_Text Text=[™])709// CHECK-NEXT: (CXComment_Text Text=[ the trade mark symbol] HasTrailingNewline)710// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)711// CHECK-NEXT: (CXComment_Text Text=[®])712// CHECK-NEXT: (CXComment_Text Text=[ the registered trade mark symbol] HasTrailingNewline)713// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)714// CHECK-NEXT: (CXComment_Text Text=[ ])715// CHECK-NEXT: (CXComment_Text Text=[ a non-breakable space.] HasTrailingNewline)716// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)717// CHECK-NEXT: (CXComment_Text Text=[Δ])718// CHECK-NEXT: (CXComment_Text Text=[ Greek letter Delta Δ.] HasTrailingNewline)719// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)720// CHECK-NEXT: (CXComment_Text Text=[Γ])721// CHECK-NEXT: (CXComment_Text Text=[ Greek letter Gamma Γ.])))]722 723/// <h1 id="]]>">Aaa</h1>724void comment_to_html_conversion_36();725 726// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_36:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <h1 id="]]>">Aaa</h1></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_36</Name><USR>c:@F@comment_to_html_conversion_36#</USR><Declaration>void comment_to_html_conversion_36()</Declaration><Abstract><Para> <rawHTML><![CDATA[<h1 id="]]]]><![CDATA[>">]]></rawHTML>Aaa<rawHTML></h1></rawHTML></Para></Abstract></Function>]727// CHECK-NEXT: CommentAST=[728// CHECK-NEXT: (CXComment_FullComment729// CHECK-NEXT: (CXComment_Paragraph730// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)731// CHECK-NEXT: (CXComment_HTMLStartTag Name=[h1] Attrs: id=]]>)732// CHECK-NEXT: (CXComment_Text Text=[Aaa])733// CHECK-NEXT: (CXComment_HTMLEndTag Name=[h1])))]734 735/// \anchor A736void comment_to_html_conversion_37();737 738// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_37:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <span id="A"></span></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_37</Name><USR>c:@F@comment_to_html_conversion_37#</USR><Declaration>void comment_to_html_conversion_37()</Declaration><Abstract><Para> <anchor id="A"></anchor></Para></Abstract></Function>]739// CHECK-NEXT: CommentAST=[740// CHECK-NEXT: (CXComment_FullComment741// CHECK-NEXT: (CXComment_Paragraph742// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)743// CHECK-NEXT: (CXComment_InlineCommand CommandName=[anchor] RenderAnchor Arg[0]=A)))]744 745/// Aaa bbb<img/>746void comment_to_html_conversion_38();747 748// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_38:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa bbb<img/></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_38</Name><USR>c:@F@comment_to_html_conversion_38#</USR><Declaration>void comment_to_html_conversion_38()</Declaration><Abstract><Para> Aaa bbb<rawHTML><![CDATA[<img/>]]></rawHTML></Para></Abstract></Function>]749// CHECK-NEXT: CommentAST=[750// CHECK-NEXT: (CXComment_FullComment751// CHECK-NEXT: (CXComment_Paragraph752// CHECK-NEXT: (CXComment_Text Text=[ Aaa bbb])753// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] SelfClosing)754 755/// Aaa ccc<img />756void comment_to_html_conversion_39();757 758// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_39:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa ccc<img/></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_39</Name><USR>c:@F@comment_to_html_conversion_39#</USR><Declaration>void comment_to_html_conversion_39()</Declaration><Abstract><Para> Aaa ccc<rawHTML><![CDATA[<img/>]]></rawHTML></Para></Abstract></Function>]759// CHECK-NEXT: CommentAST=[760// CHECK-NEXT: (CXComment_FullComment761// CHECK-NEXT: (CXComment_Paragraph762// CHECK-NEXT: (CXComment_Text Text=[ Aaa ccc])763// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] SelfClosing)764 765/// Aaa ccc<img src="">766void comment_to_html_conversion_40();767 768// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_40:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa ccc<img src></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_40</Name><USR>c:@F@comment_to_html_conversion_40#</USR><Declaration>void comment_to_html_conversion_40()</Declaration><Abstract><Para> Aaa ccc<rawHTML><![CDATA[<img src>]]></rawHTML></Para></Abstract></Function>]769// CHECK-NEXT: CommentAST=[770// CHECK-NEXT: (CXComment_FullComment771// CHECK-NEXT: (CXComment_Paragraph772// CHECK-NEXT: (CXComment_Text Text=[ Aaa ccc])773// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] Attrs: src=)774 775/// Aaa ccc<img src="path">776void comment_to_html_conversion_41();777 778// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_41:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa ccc<img src="path"></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_41</Name><USR>c:@F@comment_to_html_conversion_41#</USR><Declaration>void comment_to_html_conversion_41()</Declaration><Abstract><Para> Aaa ccc<rawHTML><![CDATA[<img src="path">]]></rawHTML></Para></Abstract></Function>]779// CHECK-NEXT: CommentAST=[780// CHECK-NEXT: (CXComment_FullComment781// CHECK-NEXT: (CXComment_Paragraph782// CHECK-NEXT: (CXComment_Text Text=[ Aaa ccc])783// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] Attrs: src=path)784 785/// Aaa ccc<img src="path"/>786void comment_to_html_conversion_42();787 788// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_42:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa ccc<img src="path"/></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_42</Name><USR>c:@F@comment_to_html_conversion_42#</USR><Declaration>void comment_to_html_conversion_42()</Declaration><Abstract><Para> Aaa ccc<rawHTML><![CDATA[<img src="path"/>]]></rawHTML></Para></Abstract></Function>]789// CHECK-NEXT: CommentAST=[790// CHECK-NEXT: (CXComment_FullComment791// CHECK-NEXT: (CXComment_Paragraph792// CHECK-NEXT: (CXComment_Text Text=[ Aaa ccc])793// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] Attrs: src=path SelfClosing)794 795/// Aaa ddd<img src=""/>796void comment_to_html_conversion_43();797 798// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_43:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa ddd<img src/></p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_43</Name><USR>c:@F@comment_to_html_conversion_43#</USR><Declaration>void comment_to_html_conversion_43()</Declaration><Abstract><Para> Aaa ddd<rawHTML><![CDATA[<img src/>]]></rawHTML></Para></Abstract></Function>]799// CHECK-NEXT: CommentAST=[800// CHECK-NEXT: (CXComment_FullComment801// CHECK-NEXT: (CXComment_Paragraph802// CHECK-NEXT: (CXComment_Text Text=[ Aaa ddd])803// CHECK-NEXT: (CXComment_HTMLStartTag Name=[img] Attrs: src= SelfClosing)804 805/// Aaa.806class comment_to_xml_conversion_01 {807// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=comment_to_xml_conversion_01:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>comment_to_xml_conversion_01</Name><USR>c:@S@comment_to_xml_conversion_01</USR><Declaration>class comment_to_xml_conversion_01 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]808 809 /// \param aaa Blah blah.810 comment_to_xml_conversion_01(int aaa);811 812// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:3: CXXConstructor=comment_to_xml_conversion_01:{{.*}} FullCommentAsXML=[<Function isInstanceMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="3"><Name>comment_to_xml_conversion_01</Name><USR>c:@S@comment_to_xml_conversion_01@F@comment_to_xml_conversion_01#I#</USR><Declaration>comment_to_xml_conversion_01(int aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah.</Para></Discussion></Parameter></Parameters></Function>]813 814 /// Aaa.815 ~comment_to_xml_conversion_01();816 817// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:3: CXXDestructor=~comment_to_xml_conversion_01:{{.*}} FullCommentAsXML=[<Function isInstanceMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="3"><Name>~comment_to_xml_conversion_01</Name><USR>c:@S@comment_to_xml_conversion_01@F@~comment_to_xml_conversion_01#</USR><Declaration>~comment_to_xml_conversion_01()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]818 819 /// \param aaa Blah blah.820 int comment_to_xml_conversion_02(int aaa);821 822// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:7: CXXMethod=comment_to_xml_conversion_02:{{.*}} FullCommentAsXML=[<Function isInstanceMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="7"><Name>comment_to_xml_conversion_02</Name><USR>c:@S@comment_to_xml_conversion_01@F@comment_to_xml_conversion_02#I#</USR><Declaration>int comment_to_xml_conversion_02(int aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah.</Para></Discussion></Parameter></Parameters></Function>]823 824 /// \param aaa Blah blah.825 static int comment_to_xml_conversion_03(int aaa);826 827// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:14: CXXMethod=comment_to_xml_conversion_03:{{.*}} FullCommentAsXML=[<Function isClassMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="14"><Name>comment_to_xml_conversion_03</Name><USR>c:@S@comment_to_xml_conversion_01@F@comment_to_xml_conversion_03#I#S</USR><Declaration>static int comment_to_xml_conversion_03(int aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah.</Para></Discussion></Parameter></Parameters></Function>]828 829 /// Aaa.830 int comment_to_xml_conversion_04;831 832// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:7: FieldDecl=comment_to_xml_conversion_04:{{.*}} FullCommentAsXML=[<Variable file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="7"><Name>comment_to_xml_conversion_04</Name><USR>c:@S@comment_to_xml_conversion_01@FI@comment_to_xml_conversion_04</USR><Declaration>int comment_to_xml_conversion_04</Declaration><Abstract><Para> Aaa.</Para></Abstract></Variable>]833 834 /// Aaa.835 static int comment_to_xml_conversion_05;836 837// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:14: VarDecl=comment_to_xml_conversion_05:{{.*}} FullCommentAsXML=[<Variable file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="14"><Name>comment_to_xml_conversion_05</Name><USR>c:@S@comment_to_xml_conversion_01@comment_to_xml_conversion_05</USR><Declaration>static int comment_to_xml_conversion_05</Declaration><Abstract><Para> Aaa.</Para></Abstract></Variable>]838 839 /// \param aaa Blah blah.840 void operator()(int aaa);841 842// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:8: CXXMethod=operator():{{.*}} FullCommentAsXML=[<Function isInstanceMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="8"><Name>operator()</Name><USR>c:@S@comment_to_xml_conversion_01@F@operator()#I#</USR><Declaration>void operator()(int aaa)</Declaration><Parameters><Parameter><Name>aaa</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah.</Para></Discussion></Parameter></Parameters></Function>]843 844 /// Aaa.845 operator bool();846 847// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:3: CXXConversion=operator bool:{{.*}} FullCommentAsXML=[<Function isInstanceMethod="1" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="3"><Name>operator bool</Name><USR>c:@S@comment_to_xml_conversion_01@F@operator bool#</USR><Declaration>operator bool()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]848 849 /// Aaa.850 typedef int comment_to_xml_conversion_06;851 852// USR is line-dependent here, so filter it with a regexp.853// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-3]]:15: TypedefDecl=comment_to_xml_conversion_06:{{.*}} FullCommentAsXML=[<Typedef file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-3]]" column="15"><Name>comment_to_xml_conversion_06</Name><USR>{{[^<]+}}</USR><Declaration>typedef int comment_to_xml_conversion_06</Declaration><Abstract><Para> Aaa.</Para></Abstract></Typedef>]854 855 /// Aaa.856 using comment_to_xml_conversion_07 = int;857 858// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:9: TypeAliasDecl=comment_to_xml_conversion_07:{{.*}} FullCommentAsXML=[<Typedef file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="9"><Name>comment_to_xml_conversion_07</Name><USR>c:@S@comment_to_xml_conversion_01@comment_to_xml_conversion_07</USR><Declaration>using comment_to_xml_conversion_07 = int</Declaration><Abstract><Para> Aaa.</Para></Abstract></Typedef>]859 860 /// Aaa.861 template<typename T, typename U>862 class comment_to_xml_conversion_08 { };863 864// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:9: ClassTemplate=comment_to_xml_conversion_08:{{.*}} FullCommentAsXML=[<Class templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="9"><Name>comment_to_xml_conversion_08</Name><USR>c:@S@comment_to_xml_conversion_01@ST>2#T#T@comment_to_xml_conversion_08</USR><Declaration>template <typename T, typename U> class comment_to_xml_conversion_08 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]865 866 /// Aaa.867 template<typename T>868 using comment_to_xml_conversion_09 = comment_to_xml_conversion_08<T, int>;869 870// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:3: TypeAliasTemplateDecl=comment_to_xml_conversion_09:{{.*}} FullCommentAsXML=[<Typedef file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="3"><Name>comment_to_xml_conversion_09</Name><USR>c:@S@comment_to_xml_conversion_01@comment_to_xml_conversion_09</USR><Declaration>template <typename T>\nusing comment_to_xml_conversion_09 = comment_to_xml_conversion_08<T, int></Declaration><Abstract><Para> Aaa.</Para></Abstract></Typedef>]871};872 873/// Aaa.874template<typename T, typename U>875void comment_to_xml_conversion_10(T aaa, U bbb);876 877// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_xml_conversion_10:{{.*}} FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_xml_conversion_10</Name><USR>c:@FT@>2#T#Tcomment_to_xml_conversion_10#t0.0#t0.1#v#</USR><Declaration>template <typename T, typename U>\nvoid comment_to_xml_conversion_10(T aaa, U bbb)</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]878 879/// Aaa.880template<>881void comment_to_xml_conversion_10(int aaa, int bbb);882 883// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_xml_conversion_10:{{.*}} FullCommentAsXML=[<Function templateKind="specialization" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_xml_conversion_10</Name><USR>c:@F@comment_to_xml_conversion_10<#I#I>#I#I#</USR><Declaration>template <> void comment_to_xml_conversion_10<int, int>(int aaa, int bbb)</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]884 885/// Aaa.886template<typename T, typename U>887class comment_to_xml_conversion_11 { };888 889// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:7: ClassTemplate=comment_to_xml_conversion_11:{{.*}} FullCommentAsXML=[<Class templateKind="template" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="7"><Name>comment_to_xml_conversion_11</Name><USR>c:@ST>2#T#T@comment_to_xml_conversion_11</USR><Declaration>template <typename T, typename U> class comment_to_xml_conversion_11 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]890 891/// Aaa.892template<typename T>893class comment_to_xml_conversion_11<T, int> { };894 895// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:7: ClassTemplatePartialSpecialization=comment_to_xml_conversion_11:{{.*}} FullCommentAsXML=[<Class templateKind="partialSpecialization" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="7"><Name>comment_to_xml_conversion_11</Name><USR>c:@SP>1#T@comment_to_xml_conversion_11>#t0.0#I</USR><Declaration>template <typename T> class comment_to_xml_conversion_11<T, int> {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]896 897/// Aaa.898template<>899class comment_to_xml_conversion_11<int, int> { };900 901// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:7: ClassDecl=comment_to_xml_conversion_11:{{.*}} FullCommentAsXML=[<Class templateKind="specialization" file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="7"><Name>comment_to_xml_conversion_11</Name><USR>c:@S@comment_to_xml_conversion_11>#I#I</USR><Declaration>template <> class comment_to_xml_conversion_11<int, int> {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]902 903/// Aaa.904int comment_to_xml_conversion_12;905 906// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:5: VarDecl=comment_to_xml_conversion_12:{{.*}} FullCommentAsXML=[<Variable file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="5"><Name>comment_to_xml_conversion_12</Name><USR>c:@comment_to_xml_conversion_12</USR><Declaration>int comment_to_xml_conversion_12</Declaration><Abstract><Para> Aaa.</Para></Abstract></Variable>]907 908/// Aaa.909namespace comment_to_xml_conversion_13 {910// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:11: Namespace=comment_to_xml_conversion_13:{{.*}} FullCommentAsXML=[<Namespace file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="11"><Name>comment_to_xml_conversion_13</Name><USR>c:@N@comment_to_xml_conversion_13</USR><Declaration>namespace comment_to_xml_conversion_13 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Namespace>]911 912 /// Aaa.913 namespace comment_to_xml_conversion_14 {914// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:13: Namespace=comment_to_xml_conversion_14:{{.*}} FullCommentAsXML=[<Namespace file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="13"><Name>comment_to_xml_conversion_14</Name><USR>c:@N@comment_to_xml_conversion_13@N@comment_to_xml_conversion_14</USR><Declaration>namespace comment_to_xml_conversion_14 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Namespace>]915 }916}917 918/// Aaa.919enum comment_to_xml_conversion_15 {920// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: EnumDecl=comment_to_xml_conversion_15:{{.*}} FullCommentAsXML=[<Enum file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_15</Name><USR>c:@E@comment_to_xml_conversion_15</USR><Declaration>enum comment_to_xml_conversion_15{{( : int)?}} {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Enum>]921 922 /// Aaa.923 comment_to_xml_conversion_16924// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:3: EnumConstantDecl=comment_to_xml_conversion_16:{{.*}} FullCommentAsXML=[<Variable file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="3"><Name>comment_to_xml_conversion_16</Name><USR>c:@E@comment_to_xml_conversion_15@comment_to_xml_conversion_16</USR><Declaration>comment_to_xml_conversion_16</Declaration><Abstract><Para> Aaa.</Para></Abstract></Variable>]925};926 927/// Aaa.928enum class comment_to_xml_conversion_17 {929// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:12: EnumDecl=comment_to_xml_conversion_17:{{.*}} FullCommentAsXML=[<Enum file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="12"><Name>comment_to_xml_conversion_17</Name><USR>c:@E@comment_to_xml_conversion_17</USR><Declaration>enum class comment_to_xml_conversion_17 : int {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Enum>]930 931 /// Aaa.932 comment_to_xml_conversion_18933// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:3: EnumConstantDecl=comment_to_xml_conversion_18:{{.*}} FullCommentAsXML=[<Variable file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="3"><Name>comment_to_xml_conversion_18</Name><USR>c:@E@comment_to_xml_conversion_17@comment_to_xml_conversion_18</USR><Declaration>comment_to_xml_conversion_18</Declaration><Abstract><Para> Aaa.</Para></Abstract></Variable>]934};935 936/// <a href="http://example.org/">937void comment_to_xml_conversion_unsafe_html_01();938// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_01:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_01</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_01#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_01()</Declaration><Abstract><Para> <rawHTML isMalformed="1"><![CDATA[<a href="http://example.org/">]]></rawHTML></Para></Abstract></Function>]939 940/// <a href="http://example.org/"><em>Aaa</em>941void comment_to_xml_conversion_unsafe_html_02();942// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_02:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_02</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_02#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_02()</Declaration><Abstract><Para> <rawHTML isMalformed="1"><![CDATA[<a href="http://example.org/">]]></rawHTML><rawHTML><![CDATA[<em>]]></rawHTML>Aaa<rawHTML></em></rawHTML></Para></Abstract></Function>]943 944/// <em>Aaa945void comment_to_xml_conversion_unsafe_html_03();946// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_03:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_03</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_03#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_03()</Declaration><Abstract><Para> <rawHTML isMalformed="1"><![CDATA[<em>]]></rawHTML>Aaa</Para></Abstract></Function>]947 948/// <em>Aaa</b></em>949void comment_to_xml_conversion_unsafe_html_04();950// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_04:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_04</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_04#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_04()</Declaration><Abstract><Para> <rawHTML><![CDATA[<em>]]></rawHTML>Aaa<rawHTML isMalformed="1"></b></rawHTML><rawHTML></em></rawHTML></Para></Abstract></Function>]951 952/// <em>Aaa</em></b>953void comment_to_xml_conversion_unsafe_html_05();954// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_05:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_05</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_05#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_05()</Declaration><Abstract><Para> <rawHTML><![CDATA[<em>]]></rawHTML>Aaa<rawHTML></em></rawHTML><rawHTML isMalformed="1"></b></rawHTML></Para></Abstract></Function>]955 956/// </table>957void comment_to_xml_conversion_unsafe_html_06();958// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_06:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_06</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_06#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_06()</Declaration><Abstract><Para> <rawHTML isMalformed="1"></table></rawHTML></Para></Abstract></Function>]959 960/// <div onclick="alert('meow');">Aaa</div>961void comment_to_xml_conversion_unsafe_html_07();962// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_unsafe_html_07:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_unsafe_html_07</Name><USR>c:@F@comment_to_xml_conversion_unsafe_html_07#</USR><Declaration>void comment_to_xml_conversion_unsafe_html_07()</Declaration><Abstract><Para> <rawHTML><![CDATA[<div onclick="alert('meow');">]]></rawHTML>Aaa<rawHTML></div></rawHTML></Para></Abstract></Function>]963 964//===---965// Check that we attach comments from the base class to derived classes if they don't have a comment.966//===---967 968/// BaseToSuper1_Base969class BaseToSuper1_Base {};970 971class BaseToSuper1_Derived : public BaseToSuper1_Base {};972// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=BaseToSuper1_Derived:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>BaseToSuper1_Base</Name><USR>c:@S@BaseToSuper1_Base</USR><Declaration>class BaseToSuper1_Derived : public BaseToSuper1_Base {}</Declaration><Abstract><Para> BaseToSuper1_Base</Para></Abstract></Class>]973 974 975/// BaseToSuper2_Base976class BaseToSuper2_Base {};977 978/// BaseToSuper2_Derived979class BaseToSuper2_Derived : public BaseToSuper2_Base {};980// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=BaseToSuper2_Derived:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>BaseToSuper2_Derived</Name><USR>c:@S@BaseToSuper2_Derived</USR><Declaration>class BaseToSuper2_Derived : public BaseToSuper2_Base {}</Declaration><Abstract><Para> BaseToSuper2_Derived</Para></Abstract></Class>]981 982class BaseToSuper2_MoreDerived : public BaseToSuper2_Derived {};983// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=BaseToSuper2_MoreDerived:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>BaseToSuper2_Derived</Name><USR>c:@S@BaseToSuper2_Derived</USR><Declaration>class BaseToSuper2_MoreDerived : public BaseToSuper2_Derived {}</Declaration><Abstract><Para> BaseToSuper2_Derived</Para></Abstract></Class>]984 985 986/// BaseToSuper3_Base987class BaseToSuper3_Base {};988 989class BaseToSuper3_DerivedA : public virtual BaseToSuper3_Base {};990 991class BaseToSuper3_DerivedB : public virtual BaseToSuper3_Base {};992 993class BaseToSuper3_MoreDerived : public BaseToSuper3_DerivedA, public BaseToSuper3_DerivedB {};994// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=BaseToSuper3_MoreDerived:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>BaseToSuper3_Base</Name><USR>c:@S@BaseToSuper3_Base</USR><Declaration>class BaseToSuper3_MoreDerived : public BaseToSuper3_DerivedA,\n public BaseToSuper3_DerivedB {}</Declaration><Abstract><Para> BaseToSuper3_Base</Para></Abstract></Class>]995 996 997// Check that we propagate comments only through public inheritance.998 999/// BaseToSuper4_Base1000class BaseToSuper4_Base {};1001 1002/// BaseToSuper4_DerivedA1003class BaseToSuper4_DerivedA : virtual BaseToSuper4_Base {};1004 1005class BaseToSuper4_DerivedB : public virtual BaseToSuper4_Base {};1006 1007class BaseToSuper4_MoreDerived : BaseToSuper4_DerivedA, public BaseToSuper4_DerivedB {};1008// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:7: ClassDecl=BaseToSuper4_MoreDerived:{{.*}} FullCommentAsXML=[<Class file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="7"><Name>BaseToSuper4_Base</Name><USR>c:@S@BaseToSuper4_Base</USR><Declaration>class BaseToSuper4_MoreDerived : BaseToSuper4_DerivedA,\n public BaseToSuper4_DerivedB {}</Declaration><Abstract><Para> BaseToSuper4_Base</Para></Abstract></Class>]1009 1010//===---1011// Check the representation of \todo in XML.1012//===---1013 1014/// Aaa.1015/// \todo Bbb.1016void comment_to_xml_conversion_todo_1();1017// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_todo_1:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_todo_1</Name><USR>c:@F@comment_to_xml_conversion_todo_1#</USR><Declaration>void comment_to_xml_conversion_todo_1()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para kind="todo"> Bbb.</Para></Discussion></Function>]1018 1019/// Aaa.1020/// \todo Bbb.1021///1022/// Ccc.1023void comment_to_xml_conversion_todo_2();1024// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_todo_2:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_todo_2</Name><USR>c:@F@comment_to_xml_conversion_todo_2#</USR><Declaration>void comment_to_xml_conversion_todo_2()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para kind="todo"> Bbb.</Para><Para> Ccc.</Para></Discussion></Function>]1025 1026/// Aaa.1027/// \todo Bbb.1028///1029/// Ccc.1030/// \todo Ddd.1031void comment_to_xml_conversion_todo_3();1032// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_todo_3:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_todo_3</Name><USR>c:@F@comment_to_xml_conversion_todo_3#</USR><Declaration>void comment_to_xml_conversion_todo_3()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para kind="todo"> Bbb.</Para><Para> Ccc. </Para><Para kind="todo"> Ddd.</Para></Discussion></Function>]1033 1034/// Aaa.1035/// \todo Bbb.1036/// \todo Ccc.1037void comment_to_xml_conversion_todo_4();1038// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_todo_4:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_todo_4</Name><USR>c:@F@comment_to_xml_conversion_todo_4#</USR><Declaration>void comment_to_xml_conversion_todo_4()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para kind="todo"> Bbb. </Para><Para kind="todo"> Ccc.</Para></Discussion></Function>]1039 1040 1041//===---1042// Test the representation of exception specifications in AST and XML.1043//===---1044 1045/// Aaa.1046/// \throws Bbb.1047void comment_to_xml_conversion_exceptions_1();1048// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_1:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_1</Name><USR>c:@F@comment_to_xml_conversion_exceptions_1#</USR><Declaration>void comment_to_xml_conversion_exceptions_1()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb. </Para></Exceptions></Function>]1049// CHECK-NEXT: CommentAST=[1050// CHECK-NEXT: (CXComment_FullComment1051// CHECK-NEXT: (CXComment_Paragraph1052// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1053// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1054// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Bbb.1055// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]1056 1057/// Aaa.1058/// \throw Bbb.1059void comment_to_xml_conversion_exceptions_2();1060// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_2:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_2</Name><USR>c:@F@comment_to_xml_conversion_exceptions_2#</USR><Declaration>void comment_to_xml_conversion_exceptions_2()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb. </Para></Exceptions></Function>]1061// CHECK-NEXT: CommentAST=[1062// CHECK-NEXT: (CXComment_FullComment1063// CHECK-NEXT: (CXComment_Paragraph1064// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1065// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1066// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throw] Arg[0]=Bbb.1067// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]1068 1069/// Aaa.1070/// \exception Bbb.1071void comment_to_xml_conversion_exceptions_3();1072// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_3:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_3</Name><USR>c:@F@comment_to_xml_conversion_exceptions_3#</USR><Declaration>void comment_to_xml_conversion_exceptions_3()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb. </Para></Exceptions></Function>]1073// CHECK-NEXT: CommentAST=[1074// CHECK-NEXT: (CXComment_FullComment1075// CHECK-NEXT: (CXComment_Paragraph1076// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1077// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1078// CHECK-NEXT: (CXComment_BlockCommand CommandName=[exception] Arg[0]=Bbb.1079// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]1080 1081/// Aaa.1082/// \throws Bbb.1083/// \throws Ccc.1084/// \throws Ddd.1085void comment_to_xml_conversion_exceptions_4();1086// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_4:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_4</Name><USR>c:@F@comment_to_xml_conversion_exceptions_4#</USR><Declaration>void comment_to_xml_conversion_exceptions_4()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb. </Para><Para>Ccc. </Para><Para>Ddd. </Para></Exceptions></Function>]1087// CHECK-NEXT: CommentAST=[1088// CHECK-NEXT: (CXComment_FullComment1089// CHECK-NEXT: (CXComment_Paragraph1090// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1091// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1092// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Bbb.1093// CHECK-NEXT: (CXComment_Paragraph IsWhitespace))1094// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Ccc.1095// CHECK-NEXT: (CXComment_Paragraph IsWhitespace))1096// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Ddd.1097// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]1098 1099/// Aaa.1100/// \throws Bbb.1101/// \throw Ccc.1102void comment_to_xml_conversion_exceptions_5();1103// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_5:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_5</Name><USR>c:@F@comment_to_xml_conversion_exceptions_5#</USR><Declaration>void comment_to_xml_conversion_exceptions_5()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb. </Para><Para>Ccc. </Para></Exceptions></Function>]1104// CHECK-NEXT: CommentAST=[1105// CHECK-NEXT: (CXComment_FullComment1106// CHECK-NEXT: (CXComment_Paragraph1107// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1108// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1109// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Bbb.1110// CHECK-NEXT: (CXComment_Paragraph IsWhitespace))1111// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throw] Arg[0]=Ccc.1112// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))]1113 1114/// Aaa.1115/// \throws Bbb subsequent arg text1116void comment_to_xml_conversion_exceptions_6();1117// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_6:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_6</Name><USR>c:@F@comment_to_xml_conversion_exceptions_6#</USR><Declaration>void comment_to_xml_conversion_exceptions_6()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb subsequent arg text</Para></Exceptions></Function>]1118// CHECK-NEXT: CommentAST=[1119// CHECK-NEXT: (CXComment_FullComment1120// CHECK-NEXT: (CXComment_Paragraph1121// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1122// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1123// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Bbb1124// CHECK-NEXT: (CXComment_Paragraph1125// CHECK-NEXT: (CXComment_Text Text=[subsequent arg text]))))]1126 1127/// Aaa.1128/// \throws Bbb subsequent arg text1129/// \throw Ccc subsequent arg text1130void comment_to_xml_conversion_exceptions_7();1131// CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:6: FunctionDecl=comment_to_xml_conversion_exceptions_7:{{.*}} FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-1]]" column="6"><Name>comment_to_xml_conversion_exceptions_7</Name><USR>c:@F@comment_to_xml_conversion_exceptions_7#</USR><Declaration>void comment_to_xml_conversion_exceptions_7()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Exceptions><Para>Bbb subsequent arg text </Para><Para>Ccc subsequent arg text</Para></Exceptions></Function>]1132// CHECK-NEXT: CommentAST=[1133// CHECK-NEXT: (CXComment_FullComment1134// CHECK-NEXT: (CXComment_Paragraph1135// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline)1136// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))1137// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throws] Arg[0]=Bbb1138// CHECK-NEXT: (CXComment_Paragraph1139// CHECK-NEXT: (CXComment_Text Text=[subsequent arg text] HasTrailingNewline)1140// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)))1141// CHECK-NEXT: (CXComment_BlockCommand CommandName=[throw] Arg[0]=Ccc1142// CHECK-NEXT: (CXComment_Paragraph1143// CHECK-NEXT: (CXComment_Text Text=[subsequent arg text]))))]1144 1145#endif1146