xref: /minix3/external/bsd/llvm/dist/clang/test/Index/comment-to-html-xml-conversion.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: rm -rf %t
2*f4a2713aSLionel Sambuc // RUN: mkdir %t
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc // This file contains UTF-8 sequences.  Please don't "fix" them!
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc // Check that we serialize comment source locations properly.
7*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -std=c++11 -emit-pch -o %t/out.pch %s
8*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -std=c++11 -include-pch %t/out.pch -fsyntax-only %s
9*f4a2713aSLionel Sambuc 
10*f4a2713aSLionel Sambuc // 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-direct
11*f4a2713aSLionel Sambuc // RUN: c-index-test -test-load-tu %t/out.pch all > %t/out.c-index-pch
12*f4a2713aSLionel Sambuc 
13*f4a2713aSLionel Sambuc // RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-direct
14*f4a2713aSLionel Sambuc // RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-pch
15*f4a2713aSLionel Sambuc 
16*f4a2713aSLionel Sambuc // Ensure that XML is not invalid
17*f4a2713aSLionel Sambuc // WRONG-NOT: CommentXMLInvalid
18*f4a2713aSLionel Sambuc 
19*f4a2713aSLionel Sambuc // RUN: FileCheck %s < %t/out.c-index-direct
20*f4a2713aSLionel Sambuc // RUN: FileCheck %s < %t/out.c-index-pch
21*f4a2713aSLionel Sambuc 
22*f4a2713aSLionel Sambuc // XFAIL: msan
23*f4a2713aSLionel Sambuc // XFAIL: valgrind
24*f4a2713aSLionel Sambuc 
25*f4a2713aSLionel Sambuc #ifndef HEADER
26*f4a2713aSLionel Sambuc #define HEADER
27*f4a2713aSLionel Sambuc 
28*f4a2713aSLionel Sambuc /// Aaa.
29*f4a2713aSLionel Sambuc void comment_to_html_conversion_1();
30*f4a2713aSLionel Sambuc 
31*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_1:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_1</Name><USR>c:@F@comment_to_html_conversion_1#</USR><Declaration>void comment_to_html_conversion_1()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
32*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
33*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
34*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
35*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.])))]
36*f4a2713aSLionel Sambuc 
37*f4a2713aSLionel Sambuc /// \brief Aaa.
38*f4a2713aSLionel Sambuc void comment_to_html_conversion_2();
39*f4a2713aSLionel Sambuc 
40*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_2:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_2</Name><USR>c:@F@comment_to_html_conversion_2#</USR><Declaration>void comment_to_html_conversion_2()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
41*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
42*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
43*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
44*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
45*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
46*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
47*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
48*f4a2713aSLionel Sambuc 
49*f4a2713aSLionel Sambuc /// \short Aaa.
50*f4a2713aSLionel Sambuc void comment_to_html_conversion_3();
51*f4a2713aSLionel Sambuc 
52*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_3:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_3</Name><USR>c:@F@comment_to_html_conversion_3#</USR><Declaration>void comment_to_html_conversion_3()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
53*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
54*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
55*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
56*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
57*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[short]
58*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
59*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
60*f4a2713aSLionel Sambuc 
61*f4a2713aSLionel Sambuc /// Aaa.
62*f4a2713aSLionel Sambuc ///
63*f4a2713aSLionel Sambuc /// \brief Bbb.
64*f4a2713aSLionel Sambuc void comment_to_html_conversion_4();
65*f4a2713aSLionel Sambuc 
66*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_4:{{.*}} 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>comment_to_html_conversion_4</Name><USR>c:@F@comment_to_html_conversion_4#</USR><Declaration>void comment_to_html_conversion_4()</Declaration><Abstract><Para> Bbb.</Para></Abstract><Discussion><Para> Aaa.</Para></Discussion></Function>]
67*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
68*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
69*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
70*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
71*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
72*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
73*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
74*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
75*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
76*f4a2713aSLionel Sambuc 
77*f4a2713aSLionel Sambuc /// Aaa.
78*f4a2713aSLionel Sambuc ///
79*f4a2713aSLionel Sambuc /// \brief Bbb.
80*f4a2713aSLionel Sambuc ///
81*f4a2713aSLionel Sambuc /// Ccc.
82*f4a2713aSLionel Sambuc void comment_to_html_conversion_5();
83*f4a2713aSLionel Sambuc 
84*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_5:{{.*}} 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>comment_to_html_conversion_5</Name><USR>c:@F@comment_to_html_conversion_5#</USR><Declaration>void comment_to_html_conversion_5()</Declaration><Abstract><Para> Bbb.</Para></Abstract><Discussion><Para> Aaa.</Para><Para> Ccc.</Para></Discussion></Function>]
85*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
86*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
87*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
88*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
89*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
90*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
91*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
92*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
93*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.])))
94*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
95*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Ccc.])))]
96*f4a2713aSLionel Sambuc 
97*f4a2713aSLionel Sambuc /// \brief Aaa.
98*f4a2713aSLionel Sambuc /// \brief Bbb.
99*f4a2713aSLionel Sambuc void comment_to_html_conversion_6();
100*f4a2713aSLionel Sambuc 
101*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_6:{{.*}} 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>comment_to_html_conversion_6</Name><USR>c:@F@comment_to_html_conversion_6#</USR><Declaration>void comment_to_html_conversion_6()</Declaration><Abstract><Para> Aaa. </Para></Abstract><Discussion><Para> Bbb.</Para></Discussion></Function>]
102*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
103*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
104*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
105*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
106*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
107*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
108*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
109*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
110*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
111*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
112*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
113*f4a2713aSLionel Sambuc 
114*f4a2713aSLionel Sambuc /// Aaa.
115*f4a2713aSLionel Sambuc ///
116*f4a2713aSLionel Sambuc /// \return Bbb.
117*f4a2713aSLionel Sambuc void comment_to_html_conversion_7();
118*f4a2713aSLionel Sambuc 
119*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_7:{{.*}} 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>comment_to_html_conversion_7</Name><USR>c:@F@comment_to_html_conversion_7#</USR><Declaration>void comment_to_html_conversion_7()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]
120*f4a2713aSLionel Sambuc 
121*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
122*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
123*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
124*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
125*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
126*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
127*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[return]
128*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
129*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
130*f4a2713aSLionel Sambuc 
131*f4a2713aSLionel Sambuc /// Aaa.
132*f4a2713aSLionel Sambuc ///
133*f4a2713aSLionel Sambuc /// \returns Bbb.
134*f4a2713aSLionel Sambuc void comment_to_html_conversion_8();
135*f4a2713aSLionel Sambuc 
136*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_8:{{.*}} 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>comment_to_html_conversion_8</Name><USR>c:@F@comment_to_html_conversion_8#</USR><Declaration>void comment_to_html_conversion_8()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]
137*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
138*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
139*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
140*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
141*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
142*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
143*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[returns]
144*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
145*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
146*f4a2713aSLionel Sambuc 
147*f4a2713aSLionel Sambuc /// Aaa.
148*f4a2713aSLionel Sambuc ///
149*f4a2713aSLionel Sambuc /// \result Bbb.
150*f4a2713aSLionel Sambuc void comment_to_html_conversion_9();
151*f4a2713aSLionel Sambuc 
152*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_9:{{.*}} 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>comment_to_html_conversion_9</Name><USR>c:@F@comment_to_html_conversion_9#</USR><Declaration>void comment_to_html_conversion_9()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Bbb.</Para></ResultDiscussion></Function>]
153*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
154*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
155*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
156*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
157*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
158*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
159*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[result]
160*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
161*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
162*f4a2713aSLionel Sambuc 
163*f4a2713aSLionel Sambuc /// \returns Aaa.
164*f4a2713aSLionel Sambuc /// \returns Bbb.
165*f4a2713aSLionel Sambuc void comment_to_html_conversion_10();
166*f4a2713aSLionel Sambuc 
167*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_10:{{.*}} 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>comment_to_html_conversion_10</Name><USR>c:@F@comment_to_html_conversion_10#</USR><Declaration>void comment_to_html_conversion_10()</Declaration><ResultDiscussion><Para> Aaa. </Para><Para> Bbb.</Para></ResultDiscussion></Function>]
168*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
169*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
170*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
171*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
172*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[returns]
173*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
174*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
175*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
176*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[returns]
177*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
178*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
179*f4a2713aSLionel Sambuc 
180*f4a2713aSLionel Sambuc /// Aaa.
181*f4a2713aSLionel Sambuc ///
182*f4a2713aSLionel Sambuc /// Bbb.
183*f4a2713aSLionel Sambuc ///
184*f4a2713aSLionel Sambuc /// \returns Ccc.
185*f4a2713aSLionel Sambuc void comment_to_html_conversion_11();
186*f4a2713aSLionel Sambuc 
187*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_11:{{.*}} 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>comment_to_html_conversion_11</Name><USR>c:@F@comment_to_html_conversion_11#</USR><Declaration>void comment_to_html_conversion_11()</Declaration><Abstract><Para> Aaa.</Para></Abstract><ResultDiscussion><Para> Ccc.</Para></ResultDiscussion><Discussion><Para> Bbb.</Para></Discussion></Function>]
188*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
189*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
190*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
191*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.]))
192*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
193*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Bbb.]))
194*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
195*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
196*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[returns]
197*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
198*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc.]))))]
199*f4a2713aSLionel Sambuc 
200*f4a2713aSLionel Sambuc /// \param
201*f4a2713aSLionel Sambuc void comment_to_html_conversion_12(int x1);
202*f4a2713aSLionel Sambuc 
203*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_12:{{.*}} FullCommentAsHTML=[] FullCommentAsXML=[<Function file="{{[^"]+}}comment-to-html-xml-conversion.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_12</Name><USR>c:@F@comment_to_html_conversion_12#I#</USR><Declaration>void comment_to_html_conversion_12(int x1)</Declaration></Function>]
204*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
205*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
206*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
207*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
208*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[] ParamIndex=Invalid
209*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph IsWhitespace)))]
210*f4a2713aSLionel Sambuc 
211*f4a2713aSLionel Sambuc /// \param x1 Aaa.
212*f4a2713aSLionel Sambuc void comment_to_html_conversion_13(int x1);
213*f4a2713aSLionel Sambuc 
214*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_13:{{.*}} 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>comment_to_html_conversion_13</Name><USR>c:@F@comment_to_html_conversion_13#I#</USR><Declaration>void comment_to_html_conversion_13(int x1)</Declaration><Parameters><Parameter><Name>x1</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter></Parameters></Function>]
215*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
216*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
217*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
218*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
219*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0
220*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
221*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
222*f4a2713aSLionel Sambuc 
223*f4a2713aSLionel Sambuc /// \param zzz Aaa.
224*f4a2713aSLionel Sambuc void comment_to_html_conversion_14(int x1);
225*f4a2713aSLionel Sambuc 
226*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_14:{{.*}} 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>comment_to_html_conversion_14</Name><USR>c:@F@comment_to_html_conversion_14#I#</USR><Declaration>void comment_to_html_conversion_14(int x1)</Declaration><Parameters><Parameter><Name>zzz</Name><Direction isExplicit="0">in</Direction><Discussion><Para> Aaa.</Para></Discussion></Parameter></Parameters></Function>]
227*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
228*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
229*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
230*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
231*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid
232*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
233*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
234*f4a2713aSLionel Sambuc 
235*f4a2713aSLionel Sambuc /// \param x2 Bbb.
236*f4a2713aSLionel Sambuc /// \param x1 Aaa.
237*f4a2713aSLionel Sambuc void comment_to_html_conversion_15(int x1, int x2);
238*f4a2713aSLionel Sambuc 
239*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_15:{{.*}} 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>comment_to_html_conversion_15</Name><USR>c:@F@comment_to_html_conversion_15#I#I#</USR><Declaration>void comment_to_html_conversion_15(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>]
240*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
241*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
242*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
243*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
244*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1
245*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
246*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.] HasTrailingNewline)
247*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
248*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0
249*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
250*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
251*f4a2713aSLionel Sambuc 
252*f4a2713aSLionel Sambuc /// \param x2 Bbb.
253*f4a2713aSLionel Sambuc /// \param zzz Aaa.
254*f4a2713aSLionel Sambuc /// \param x1 Aaa.
255*f4a2713aSLionel Sambuc void comment_to_html_conversion_16(int x1, int x2);
256*f4a2713aSLionel Sambuc 
257*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_16:{{.*}} 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>comment_to_html_conversion_16</Name><USR>c:@F@comment_to_html_conversion_16#I#I#</USR><Declaration>void comment_to_html_conversion_16(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>]
258*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
259*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
260*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
261*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
262*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1
263*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
264*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.] HasTrailingNewline)
265*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
266*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid
267*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
268*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
269*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
270*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0
271*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
272*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.]))))]
273*f4a2713aSLionel Sambuc 
274*f4a2713aSLionel Sambuc /// \param x1 Aaa.
275*f4a2713aSLionel Sambuc /// \param ... Bbb.
276*f4a2713aSLionel Sambuc void comment_to_html_conversion_17(int x1, ...);
277*f4a2713aSLionel Sambuc 
278*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_17:{{.*}} 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>comment_to_html_conversion_17</Name><USR>c:@F@comment_to_html_conversion_17#I.#</USR><Declaration>void comment_to_html_conversion_17(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>]
279*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
280*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
281*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
282*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
283*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0
284*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
285*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
286*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
287*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[...] ParamIndex=4294967295
288*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
289*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))] Extent=[276:1 - 276:48]
290*f4a2713aSLionel Sambuc 
291*f4a2713aSLionel Sambuc /// \tparam
292*f4a2713aSLionel Sambuc /// \param aaa Blah blah
293*f4a2713aSLionel Sambuc template<typename T>
294*f4a2713aSLionel Sambuc void comment_to_html_conversion_18(T aaa);
295*f4a2713aSLionel Sambuc 
296*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_html_conversion_18:{{.*}} 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>comment_to_html_conversion_18</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_18#t0.0#</USR><Declaration>template &lt;typename T&gt; void comment_to_html_conversion_18(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>]
297*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
298*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
299*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
300*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
301*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[] ParamPosition=Invalid
302*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph IsWhitespace
303*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
304*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[aaa] ParamIndex=0
305*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
306*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Blah blah]))))]
307*f4a2713aSLionel Sambuc 
308*f4a2713aSLionel Sambuc /// \tparam T
309*f4a2713aSLionel Sambuc /// \param aaa Blah blah
310*f4a2713aSLionel Sambuc template<typename T>
311*f4a2713aSLionel Sambuc void comment_to_html_conversion_19(T aaa);
312*f4a2713aSLionel Sambuc 
313*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_html_conversion_19:{{.*}} 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>comment_to_html_conversion_19</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_19#t0.0#</USR><Declaration>template &lt;typename T&gt; void comment_to_html_conversion_19(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>]
314*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
315*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
316*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
317*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
318*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T] ParamPosition={0}
319*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph IsWhitespace
320*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
321*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[aaa] ParamIndex=0
322*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
323*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Blah blah]))))]
324*f4a2713aSLionel Sambuc 
325*f4a2713aSLionel Sambuc /// \tparam T2 Bbb
326*f4a2713aSLionel Sambuc /// \tparam T1 Aaa
327*f4a2713aSLionel Sambuc template<typename T1, typename T2>
328*f4a2713aSLionel Sambuc void comment_to_html_conversion_20(T1 aaa, T2 bbb);
329*f4a2713aSLionel Sambuc 
330*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_html_conversion_20:{{.*}} 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>comment_to_html_conversion_20</Name><USR>c:@FT@&gt;2#T#Tcomment_to_html_conversion_20#t0.0#t0.1#</USR><Declaration>template &lt;typename T1, typename T2&gt;\nvoid comment_to_html_conversion_20(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>]
331*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
332*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
333*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
334*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
335*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T2] ParamPosition={1}
336*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
337*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb] HasTrailingNewline)
338*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
339*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T1] ParamPosition={0}
340*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
341*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa]))))]
342*f4a2713aSLionel Sambuc 
343*f4a2713aSLionel Sambuc /// \tparam T2 Bbb
344*f4a2713aSLionel Sambuc /// \tparam U Zzz
345*f4a2713aSLionel Sambuc /// \tparam V Ccc
346*f4a2713aSLionel Sambuc /// \tparam T1 Aaa
347*f4a2713aSLionel Sambuc template<typename T1, typename T2, int V>
348*f4a2713aSLionel Sambuc void comment_to_html_conversion_21(T1 aaa, T2 bbb);
349*f4a2713aSLionel Sambuc 
350*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_html_conversion_21:{{.*}} 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>comment_to_html_conversion_21</Name><USR>c:@FT@&gt;3#T#T#NIcomment_to_html_conversion_21#t0.0#t0.1#</USR><Declaration>template &lt;typename T1, typename T2, int V&gt;\nvoid comment_to_html_conversion_21(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>]
351*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
352*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
353*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
354*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
355*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T2] ParamPosition={1}
356*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
357*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb] HasTrailingNewline)
358*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
359*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[U] ParamPosition=Invalid
360*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
361*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Zzz] HasTrailingNewline)
362*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
363*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[V] ParamPosition={2}
364*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
365*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc] HasTrailingNewline)
366*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
367*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T1] ParamPosition={0}
368*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
369*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa]))))]
370*f4a2713aSLionel Sambuc 
371*f4a2713aSLionel Sambuc /// \tparam TTT Ddd
372*f4a2713aSLionel Sambuc /// \tparam C Ccc
373*f4a2713aSLionel Sambuc /// \tparam T Aaa
374*f4a2713aSLionel Sambuc /// \tparam TT Bbb
375*f4a2713aSLionel Sambuc template<template<template<typename T> class TT, class C> class TTT>
376*f4a2713aSLionel Sambuc void comment_to_html_conversion_22();
377*f4a2713aSLionel Sambuc 
378*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionTemplate=comment_to_html_conversion_22:{{.*}} 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>comment_to_html_conversion_22</Name><USR>c:@FT@&gt;1#t&gt;2#t&gt;1#T#Tcomment_to_html_conversion_22#</USR><Declaration>template &lt;template &lt;template &lt;typename T&gt; class TT, class C&gt; class TTT&gt;\nvoid comment_to_html_conversion_22()</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>]
379*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
380*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
381*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
382*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
383*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[TTT] ParamPosition={0}
384*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
385*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ddd] HasTrailingNewline)
386*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
387*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[C] ParamPosition={0, 1}
388*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
389*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc] HasTrailingNewline)
390*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
391*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[T] ParamPosition={0, 0, 0}
392*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
393*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa] HasTrailingNewline)
394*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
395*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[TT] ParamPosition={0, 0}
396*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
397*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb]))))]
398*f4a2713aSLionel Sambuc 
399*f4a2713aSLionel Sambuc /// \brief Aaa.
400*f4a2713aSLionel Sambuc ///
401*f4a2713aSLionel Sambuc /// Bbb.
402*f4a2713aSLionel Sambuc ///
403*f4a2713aSLionel Sambuc /// \param x2 Ddd.
404*f4a2713aSLionel Sambuc /// \param x1 Ccc.
405*f4a2713aSLionel Sambuc /// \returns Eee.
406*f4a2713aSLionel Sambuc void comment_to_html_conversion_23(int x1, int x2);
407*f4a2713aSLionel Sambuc 
408*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_23:{{.*}} 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>comment_to_html_conversion_23</Name><USR>c:@F@comment_to_html_conversion_23#I#I#</USR><Declaration>void comment_to_html_conversion_23(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>]
409*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
410*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
411*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
412*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
413*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[brief]
414*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
415*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Aaa.])))
416*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
417*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Bbb.]))
418*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
419*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
420*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1
421*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
422*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ddd.] HasTrailingNewline)
423*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
424*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0
425*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
426*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc.] HasTrailingNewline)
427*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
428*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[returns]
429*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
430*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Eee.]))))]
431*f4a2713aSLionel Sambuc 
432*f4a2713aSLionel Sambuc /// <br><a href="http://example.com/">Aaa</a>
433*f4a2713aSLionel Sambuc void comment_to_html_conversion_24();
434*f4a2713aSLionel Sambuc 
435*f4a2713aSLionel Sambuc // 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>&lt;/a&gt;</rawHTML></Para></Abstract></Function>]
436*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
437*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
438*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
439*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
440*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_HTMLStartTag Name=[br])
441*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_HTMLStartTag Name=[a] Attrs: href=http://example.com/)
442*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[Aaa])
443*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_HTMLEndTag Name=[a])))]
444*f4a2713aSLionel Sambuc 
445*f4a2713aSLionel Sambuc /// \verbatim
446*f4a2713aSLionel Sambuc /// <a href="http://example.com/">Aaa</a>
447*f4a2713aSLionel Sambuc /// <a href='http://example.com/'>Aaa</a>
448*f4a2713aSLionel Sambuc /// \endverbatim
449*f4a2713aSLionel Sambuc void comment_to_html_conversion_25();
450*f4a2713aSLionel Sambuc 
451*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_25:{{.*}} FullCommentAsHTML=[<pre> &lt;a href=&quot;http:&#47;&#47;example.com&#47;&quot;&gt;Aaa&lt;&#47;a&gt;\n &lt;a href=&#39;http:&#47;&#47;example.com&#47;&#39;&gt;Aaa&lt;&#47;a&gt;</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"> &lt;a href=&quot;http://example.com/&quot;&gt;Aaa&lt;/a&gt;\n &lt;a href=&apos;http://example.com/&apos;&gt;Aaa&lt;/a&gt;</Verbatim></Discussion></Function>]
452*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
453*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
454*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
455*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
456*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimBlockCommand CommandName=[verbatim]
457*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_VerbatimBlockLine Text=[ <a href="http://example.com/">Aaa</a>])
458*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_VerbatimBlockLine Text=[ <a href='http://example.com/'>Aaa</a>])))]
459*f4a2713aSLionel Sambuc 
460*f4a2713aSLionel Sambuc /// \def foo_def
461*f4a2713aSLionel Sambuc /// \fn foo_fn
462*f4a2713aSLionel Sambuc /// \namespace foo_namespace
463*f4a2713aSLionel Sambuc /// \overload foo_overload
464*f4a2713aSLionel Sambuc /// \property foo_property
465*f4a2713aSLionel Sambuc /// \typedef foo_typedef
466*f4a2713aSLionel Sambuc /// \var foo_var
467*f4a2713aSLionel Sambuc /// \function foo_function
468*f4a2713aSLionel Sambuc /// \class foo_class
469*f4a2713aSLionel Sambuc /// \method foo_method
470*f4a2713aSLionel Sambuc /// \interface foo_interface
471*f4a2713aSLionel Sambuc /// Blah blah.
472*f4a2713aSLionel Sambuc void comment_to_html_conversion_26();
473*f4a2713aSLionel Sambuc 
474*f4a2713aSLionel Sambuc // 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>]
475*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
476*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
477*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
478*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
479*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_def])
480*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
481*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
482*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_fn])
483*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
484*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
485*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_namespace])
486*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
487*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
488*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_overload])
489*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
490*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
491*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_property])
492*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
493*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
494*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_typedef])
495*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
496*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
497*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_var])
498*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
499*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
500*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_function])
501*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
502*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
503*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_class])
504*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
505*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
506*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_method])
507*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
508*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
509*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_VerbatimLine Text=[ foo_interface])
510*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
511*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Blah blah.])))]
512*f4a2713aSLionel Sambuc 
513*f4a2713aSLionel Sambuc /// \unknown
514*f4a2713aSLionel Sambuc void comment_to_html_conversion_27();
515*f4a2713aSLionel Sambuc 
516*f4a2713aSLionel Sambuc // 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>]
517*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
518*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
519*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
520*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
521*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[unknown] RenderNormal)))]
522*f4a2713aSLionel Sambuc 
523*f4a2713aSLionel Sambuc /// \b Aaa
524*f4a2713aSLionel Sambuc void comment_to_html_conversion_28();
525*f4a2713aSLionel Sambuc 
526*f4a2713aSLionel Sambuc // 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>]
527*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
528*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
529*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
530*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
531*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[b] RenderBold Arg[0]=Aaa)))]
532*f4a2713aSLionel Sambuc 
533*f4a2713aSLionel Sambuc /// \c Aaa \p Bbb
534*f4a2713aSLionel Sambuc void comment_to_html_conversion_29();
535*f4a2713aSLionel Sambuc 
536*f4a2713aSLionel Sambuc // 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>]
537*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
538*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
539*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
540*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
541*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=Aaa)
542*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
543*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[p] RenderMonospaced Arg[0]=Bbb)))]
544*f4a2713aSLionel Sambuc 
545*f4a2713aSLionel Sambuc /// \a Aaa \e Bbb \em Ccc
546*f4a2713aSLionel Sambuc void comment_to_html_conversion_30();
547*f4a2713aSLionel Sambuc 
548*f4a2713aSLionel Sambuc // 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>]
549*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
550*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
551*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
552*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
553*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=Aaa)
554*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
555*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=Bbb)
556*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
557*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=Ccc)))]
558*f4a2713aSLionel Sambuc 
559*f4a2713aSLionel Sambuc /// \a 1<2 \e 3<4 \em 5<6 \param 7<8 aaa \tparam 9<10 bbb
560*f4a2713aSLionel Sambuc void comment_to_html_conversion_31();
561*f4a2713aSLionel Sambuc 
562*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_31:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>1&lt;2</em> <em>3&lt;4</em> <em>5&lt;6</em> </p><dl><dt class="tparam-name-index-invalid">9&lt;10</dt><dd class="tparam-descr-index-invalid"> bbb</dd></dl><dl><dt class="param-name-index-invalid">7&lt;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&lt;2</emphasized> <emphasized>3&lt;4</emphasized> <emphasized>5&lt;6</emphasized> </Para></Abstract><TemplateParameters><Parameter><Name>9&lt;10</Name><Discussion><Para> bbb</Para></Discussion></Parameter></TemplateParameters><Parameters><Parameter><Name>7&lt;8</Name><Direction isExplicit="0">in</Direction><Discussion><Para> aaa </Para></Discussion></Parameter></Parameters></Function>]
563*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
564*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
565*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
566*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
567*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=1<2)
568*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
569*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=3<4)
570*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
571*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=5<6)
572*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
573*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_ParamCommand in implicitly ParamName=[7<8] ParamIndex=Invalid
574*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
575*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ aaa ])))
576*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_TParamCommand ParamName=[9<10] ParamPosition=Invalid
577*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
578*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ bbb]))))]
579*f4a2713aSLionel Sambuc 
580*f4a2713aSLionel Sambuc /// \\ \@ \& \$ \# \< \> \% \" \. \::
581*f4a2713aSLionel Sambuc void comment_to_html_conversion_32();
582*f4a2713aSLionel Sambuc 
583*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_32:{{.*}} FullCommentAsHTML=[<p class="para-brief"> \ @ &amp; $ # &lt; &gt; % &quot; . ::</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> \ @ &amp; $ # &lt; &gt; % &quot; . ::</Para></Abstract></Function>]
584*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
585*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
586*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
587*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
588*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[\])
589*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
590*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[@])
591*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
592*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[&])
593*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
594*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[$])
595*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
596*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[#])
597*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
598*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[<])
599*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
600*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[>])
601*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
602*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[%])
603*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
604*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=["])
605*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
606*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[.])
607*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
608*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[::])))]
609*f4a2713aSLionel Sambuc 
610*f4a2713aSLionel Sambuc /// &amp; &lt; &gt; &quot; &apos; &#109;&#101;&#111;&#119; &#x6d;&#x65;&#x6F;&#X77;
611*f4a2713aSLionel Sambuc void comment_to_html_conversion_33();
612*f4a2713aSLionel Sambuc 
613*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_33:{{.*}} FullCommentAsHTML=[<p class="para-brief"> &amp; &lt; &gt; &quot; &#39; 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> &amp; &lt; &gt; &quot; &apos; meow  meow</Para></Abstract></Function>]
614*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
615*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
616*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
617*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
618*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[&])
619*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
620*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[<])
621*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
622*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[>])
623*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
624*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=["])
625*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
626*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=['])
627*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
628*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[m])
629*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[e])
630*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[o])
631*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[w])
632*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[  ] IsWhitespace)
633*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[m])
634*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[e])
635*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[o])
636*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[w])))]
637*f4a2713aSLionel Sambuc 
638*f4a2713aSLionel Sambuc /// <em>0&lt;i</em>
639*f4a2713aSLionel Sambuc void comment_to_html_conversion_34();
640*f4a2713aSLionel Sambuc 
641*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:6: FunctionDecl=comment_to_html_conversion_34:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>0&lt;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&lt;i<rawHTML>&lt;/em&gt;</rawHTML></Para></Abstract></Function>]
642*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
643*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
644*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
645*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
646*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_HTMLStartTag Name=[em])
647*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[0])
648*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[<])
649*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[i])
650*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_HTMLEndTag Name=[em])))]
651*f4a2713aSLionel Sambuc 
652*f4a2713aSLionel Sambuc // rdar://12392215
653*f4a2713aSLionel Sambuc /// &copy; the copyright symbol
654*f4a2713aSLionel Sambuc /// &trade; the trade mark symbol
655*f4a2713aSLionel Sambuc /// &reg; the registered trade mark symbol
656*f4a2713aSLionel Sambuc /// &nbsp; a non breakable space.
657*f4a2713aSLionel Sambuc /// &Delta; Greek letter Delta Δ.
658*f4a2713aSLionel Sambuc /// &Gamma; Greek letter Gamma Γ.
659*f4a2713aSLionel Sambuc void comment_to_html_conversion_35();
660*f4a2713aSLionel Sambuc 
661*f4a2713aSLionel Sambuc // 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>]
662*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
663*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
664*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
665*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
666*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[©])
667*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ the copyright symbol] HasTrailingNewline)
668*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
669*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[™])
670*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ the trade mark symbol] HasTrailingNewline)
671*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
672*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[®])
673*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ the registered trade mark symbol] HasTrailingNewline)
674*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
675*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ])
676*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ a non breakable space.] HasTrailingNewline)
677*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
678*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[Δ])
679*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Greek letter Delta Δ.] HasTrailingNewline)
680*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace)
681*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[Γ])
682*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Greek letter Gamma Γ.])))]
683*f4a2713aSLionel Sambuc 
684*f4a2713aSLionel Sambuc 
685*f4a2713aSLionel Sambuc /// Aaa.
686*f4a2713aSLionel Sambuc class comment_to_xml_conversion_01 {
687*f4a2713aSLionel Sambuc // 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:@C@comment_to_xml_conversion_01</USR><Declaration>class comment_to_xml_conversion_01 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]
688*f4a2713aSLionel Sambuc 
689*f4a2713aSLionel Sambuc   /// \param aaa Blah blah.
690*f4a2713aSLionel Sambuc   comment_to_xml_conversion_01(int aaa);
691*f4a2713aSLionel Sambuc 
692*f4a2713aSLionel Sambuc // 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:@C@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>]
693*f4a2713aSLionel Sambuc 
694*f4a2713aSLionel Sambuc   /// Aaa.
695*f4a2713aSLionel Sambuc   ~comment_to_xml_conversion_01();
696*f4a2713aSLionel Sambuc 
697*f4a2713aSLionel Sambuc // 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:@C@comment_to_xml_conversion_01@F@~comment_to_xml_conversion_01#</USR><Declaration>void ~comment_to_xml_conversion_01()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
698*f4a2713aSLionel Sambuc 
699*f4a2713aSLionel Sambuc   /// \param aaa Blah blah.
700*f4a2713aSLionel Sambuc   int comment_to_xml_conversion_02(int aaa);
701*f4a2713aSLionel Sambuc 
702*f4a2713aSLionel Sambuc // 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:@C@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>]
703*f4a2713aSLionel Sambuc 
704*f4a2713aSLionel Sambuc   /// \param aaa Blah blah.
705*f4a2713aSLionel Sambuc   static int comment_to_xml_conversion_03(int aaa);
706*f4a2713aSLionel Sambuc 
707*f4a2713aSLionel Sambuc // 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:@C@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>]
708*f4a2713aSLionel Sambuc 
709*f4a2713aSLionel Sambuc   /// Aaa.
710*f4a2713aSLionel Sambuc   int comment_to_xml_conversion_04;
711*f4a2713aSLionel Sambuc 
712*f4a2713aSLionel Sambuc // 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:@C@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>]
713*f4a2713aSLionel Sambuc 
714*f4a2713aSLionel Sambuc   /// Aaa.
715*f4a2713aSLionel Sambuc   static int comment_to_xml_conversion_05;
716*f4a2713aSLionel Sambuc 
717*f4a2713aSLionel Sambuc // 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:@C@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>]
718*f4a2713aSLionel Sambuc 
719*f4a2713aSLionel Sambuc   /// \param aaa Blah blah.
720*f4a2713aSLionel Sambuc   void operator()(int aaa);
721*f4a2713aSLionel Sambuc 
722*f4a2713aSLionel Sambuc // 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:@C@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>]
723*f4a2713aSLionel Sambuc 
724*f4a2713aSLionel Sambuc   /// Aaa.
725*f4a2713aSLionel Sambuc   operator bool();
726*f4a2713aSLionel Sambuc 
727*f4a2713aSLionel Sambuc // 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:@C@comment_to_xml_conversion_01@F@operator _Bool#</USR><Declaration>bool operator _Bool()</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
728*f4a2713aSLionel Sambuc 
729*f4a2713aSLionel Sambuc   /// Aaa.
730*f4a2713aSLionel Sambuc   typedef int comment_to_xml_conversion_06;
731*f4a2713aSLionel Sambuc 
732*f4a2713aSLionel Sambuc // USR is line-dependent here, so filter it with a regexp.
733*f4a2713aSLionel Sambuc // 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>]
734*f4a2713aSLionel Sambuc 
735*f4a2713aSLionel Sambuc   /// Aaa.
736*f4a2713aSLionel Sambuc   using comment_to_xml_conversion_07 = int;
737*f4a2713aSLionel Sambuc 
738*f4a2713aSLionel Sambuc // 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:@C@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>]
739*f4a2713aSLionel Sambuc 
740*f4a2713aSLionel Sambuc   /// Aaa.
741*f4a2713aSLionel Sambuc   template<typename T, typename U>
742*f4a2713aSLionel Sambuc   class comment_to_xml_conversion_08 { };
743*f4a2713aSLionel Sambuc 
744*f4a2713aSLionel Sambuc // 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:@C@comment_to_xml_conversion_01@CT&gt;2#T#T@comment_to_xml_conversion_08</USR><Declaration>template &lt;typename T, typename U&gt; class comment_to_xml_conversion_08 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]
745*f4a2713aSLionel Sambuc 
746*f4a2713aSLionel Sambuc   /// Aaa.
747*f4a2713aSLionel Sambuc   template<typename T>
748*f4a2713aSLionel Sambuc   using comment_to_xml_conversion_09 = comment_to_xml_conversion_08<T, int>;
749*f4a2713aSLionel Sambuc 
750*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-2]]:3: UnexposedDecl=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:@C@comment_to_xml_conversion_01@comment_to_xml_conversion_09</USR><Declaration>template &lt;typename T&gt;\nusing comment_to_xml_conversion_09 = comment_to_xml_conversion_08&lt;T, int&gt;</Declaration><Abstract><Para> Aaa.</Para></Abstract></Typedef>]
751*f4a2713aSLionel Sambuc };
752*f4a2713aSLionel Sambuc 
753*f4a2713aSLionel Sambuc /// Aaa.
754*f4a2713aSLionel Sambuc template<typename T, typename U>
755*f4a2713aSLionel Sambuc void comment_to_xml_conversion_10(T aaa, U bbb);
756*f4a2713aSLionel Sambuc 
757*f4a2713aSLionel Sambuc // 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@&gt;2#T#Tcomment_to_xml_conversion_10#t0.0#t0.1#</USR><Declaration>template &lt;typename T, typename U&gt;\nvoid comment_to_xml_conversion_10(T aaa, U bbb)</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
758*f4a2713aSLionel Sambuc 
759*f4a2713aSLionel Sambuc /// Aaa.
760*f4a2713aSLionel Sambuc template<>
761*f4a2713aSLionel Sambuc void comment_to_xml_conversion_10(int aaa, int bbb);
762*f4a2713aSLionel Sambuc 
763*f4a2713aSLionel Sambuc // 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&lt;#I#I&gt;#I#I#</USR><Declaration>void comment_to_xml_conversion_10(int aaa, int bbb)</Declaration><Abstract><Para> Aaa.</Para></Abstract></Function>]
764*f4a2713aSLionel Sambuc 
765*f4a2713aSLionel Sambuc /// Aaa.
766*f4a2713aSLionel Sambuc template<typename T, typename U>
767*f4a2713aSLionel Sambuc class comment_to_xml_conversion_11 { };
768*f4a2713aSLionel Sambuc 
769*f4a2713aSLionel Sambuc // 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:@CT&gt;2#T#T@comment_to_xml_conversion_11</USR><Declaration>template &lt;typename T, typename U&gt; class comment_to_xml_conversion_11 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]
770*f4a2713aSLionel Sambuc 
771*f4a2713aSLionel Sambuc /// Aaa.
772*f4a2713aSLionel Sambuc template<typename T>
773*f4a2713aSLionel Sambuc class comment_to_xml_conversion_11<T, int> { };
774*f4a2713aSLionel Sambuc 
775*f4a2713aSLionel Sambuc // 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:@CP&gt;1#T@comment_to_xml_conversion_11&gt;#t0.0#I</USR><Declaration>class comment_to_xml_conversion_11 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]
776*f4a2713aSLionel Sambuc 
777*f4a2713aSLionel Sambuc /// Aaa.
778*f4a2713aSLionel Sambuc template<>
779*f4a2713aSLionel Sambuc class comment_to_xml_conversion_11<int, int> { };
780*f4a2713aSLionel Sambuc 
781*f4a2713aSLionel Sambuc // 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:@C@comment_to_xml_conversion_11&gt;#I#I</USR><Declaration>class comment_to_xml_conversion_11 {}</Declaration><Abstract><Para> Aaa.</Para></Abstract></Class>]
782*f4a2713aSLionel Sambuc 
783*f4a2713aSLionel Sambuc /// Aaa.
784*f4a2713aSLionel Sambuc int comment_to_xml_conversion_12;
785*f4a2713aSLionel Sambuc 
786*f4a2713aSLionel Sambuc // 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>]
787*f4a2713aSLionel Sambuc 
788*f4a2713aSLionel Sambuc /// Aaa.
789*f4a2713aSLionel Sambuc namespace comment_to_xml_conversion_13 {
790*f4a2713aSLionel Sambuc // 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>]
791*f4a2713aSLionel Sambuc 
792*f4a2713aSLionel Sambuc   /// Aaa.
793*f4a2713aSLionel Sambuc   namespace comment_to_xml_conversion_14 {
794*f4a2713aSLionel Sambuc // 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>]
795*f4a2713aSLionel Sambuc   }
796*f4a2713aSLionel Sambuc }
797*f4a2713aSLionel Sambuc 
798*f4a2713aSLionel Sambuc /// Aaa.
799*f4a2713aSLionel Sambuc enum comment_to_xml_conversion_15 {
800*f4a2713aSLionel Sambuc // 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>]
801*f4a2713aSLionel Sambuc 
802*f4a2713aSLionel Sambuc   /// Aaa.
803*f4a2713aSLionel Sambuc   comment_to_xml_conversion_16
804*f4a2713aSLionel Sambuc // 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>]
805*f4a2713aSLionel Sambuc };
806*f4a2713aSLionel Sambuc 
807*f4a2713aSLionel Sambuc /// Aaa.
808*f4a2713aSLionel Sambuc enum class comment_to_xml_conversion_17 {
809*f4a2713aSLionel Sambuc // 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>]
810*f4a2713aSLionel Sambuc 
811*f4a2713aSLionel Sambuc   /// Aaa.
812*f4a2713aSLionel Sambuc   comment_to_xml_conversion_18
813*f4a2713aSLionel Sambuc // 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>]
814*f4a2713aSLionel Sambuc };
815*f4a2713aSLionel Sambuc 
816*f4a2713aSLionel Sambuc //===---
817*f4a2713aSLionel Sambuc // Check that we attach comments from the base class to derived classes if they don't have a comment.
818*f4a2713aSLionel Sambuc // rdar://13647476
819*f4a2713aSLionel Sambuc //===---
820*f4a2713aSLionel Sambuc 
821*f4a2713aSLionel Sambuc /// BaseToSuper1_Base
822*f4a2713aSLionel Sambuc class BaseToSuper1_Base {};
823*f4a2713aSLionel Sambuc 
824*f4a2713aSLionel Sambuc class BaseToSuper1_Derived : public BaseToSuper1_Base {};
825*f4a2713aSLionel Sambuc // 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:@C@BaseToSuper1_Base</USR><Declaration>class BaseToSuper1_Derived : public BaseToSuper1_Base {}</Declaration><Abstract><Para> BaseToSuper1_Base</Para></Abstract></Class>]
826*f4a2713aSLionel Sambuc 
827*f4a2713aSLionel Sambuc 
828*f4a2713aSLionel Sambuc /// BaseToSuper2_Base
829*f4a2713aSLionel Sambuc class BaseToSuper2_Base {};
830*f4a2713aSLionel Sambuc 
831*f4a2713aSLionel Sambuc /// BaseToSuper2_Derived
832*f4a2713aSLionel Sambuc class BaseToSuper2_Derived : public BaseToSuper2_Base {};
833*f4a2713aSLionel Sambuc // 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:@C@BaseToSuper2_Derived</USR><Declaration>class BaseToSuper2_Derived : public BaseToSuper2_Base {}</Declaration><Abstract><Para> BaseToSuper2_Derived</Para></Abstract></Class>]
834*f4a2713aSLionel Sambuc 
835*f4a2713aSLionel Sambuc class BaseToSuper2_MoreDerived : public BaseToSuper2_Derived {};
836*f4a2713aSLionel Sambuc // 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:@C@BaseToSuper2_Derived</USR><Declaration>class BaseToSuper2_MoreDerived : public BaseToSuper2_Derived {}</Declaration><Abstract><Para> BaseToSuper2_Derived</Para></Abstract></Class>]
837*f4a2713aSLionel Sambuc 
838*f4a2713aSLionel Sambuc 
839*f4a2713aSLionel Sambuc /// BaseToSuper3_Base
840*f4a2713aSLionel Sambuc class BaseToSuper3_Base {};
841*f4a2713aSLionel Sambuc 
842*f4a2713aSLionel Sambuc class BaseToSuper3_DerivedA : public virtual BaseToSuper3_Base {};
843*f4a2713aSLionel Sambuc 
844*f4a2713aSLionel Sambuc class BaseToSuper3_DerivedB : public virtual BaseToSuper3_Base {};
845*f4a2713aSLionel Sambuc 
846*f4a2713aSLionel Sambuc class BaseToSuper3_MoreDerived : public BaseToSuper3_DerivedA, public BaseToSuper3_DerivedB {};
847*f4a2713aSLionel Sambuc // 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:@C@BaseToSuper3_Base</USR><Declaration>class BaseToSuper3_MoreDerived : public BaseToSuper3_DerivedA,\n                                 public BaseToSuper3_DerivedB {}</Declaration><Abstract><Para> BaseToSuper3_Base</Para></Abstract></Class>]
848*f4a2713aSLionel Sambuc 
849*f4a2713aSLionel Sambuc 
850*f4a2713aSLionel Sambuc // Check that we propagate comments only through public inheritance.
851*f4a2713aSLionel Sambuc 
852*f4a2713aSLionel Sambuc /// BaseToSuper4_Base
853*f4a2713aSLionel Sambuc class BaseToSuper4_Base {};
854*f4a2713aSLionel Sambuc 
855*f4a2713aSLionel Sambuc /// BaseToSuper4_DerivedA
856*f4a2713aSLionel Sambuc class BaseToSuper4_DerivedA : virtual BaseToSuper4_Base {};
857*f4a2713aSLionel Sambuc 
858*f4a2713aSLionel Sambuc class BaseToSuper4_DerivedB : public virtual BaseToSuper4_Base {};
859*f4a2713aSLionel Sambuc 
860*f4a2713aSLionel Sambuc class BaseToSuper4_MoreDerived : BaseToSuper4_DerivedA, public BaseToSuper4_DerivedB {};
861*f4a2713aSLionel Sambuc // 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:@C@BaseToSuper4_Base</USR><Declaration>class BaseToSuper4_MoreDerived : BaseToSuper4_DerivedA,\n                                 public BaseToSuper4_DerivedB {}</Declaration><Abstract><Para> BaseToSuper4_Base</Para></Abstract></Class>]
862*f4a2713aSLionel Sambuc 
863*f4a2713aSLionel Sambuc //===---
864*f4a2713aSLionel Sambuc // Check the representation of \todo in XML.
865*f4a2713aSLionel Sambuc //===---
866*f4a2713aSLionel Sambuc 
867*f4a2713aSLionel Sambuc /// Aaa.
868*f4a2713aSLionel Sambuc /// \todo Bbb.
869*f4a2713aSLionel Sambuc void comment_to_xml_conversion_todo_1();
870*f4a2713aSLionel Sambuc // 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>]
871*f4a2713aSLionel Sambuc 
872*f4a2713aSLionel Sambuc /// Aaa.
873*f4a2713aSLionel Sambuc /// \todo Bbb.
874*f4a2713aSLionel Sambuc ///
875*f4a2713aSLionel Sambuc /// Ccc.
876*f4a2713aSLionel Sambuc void comment_to_xml_conversion_todo_2();
877*f4a2713aSLionel Sambuc // 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>]
878*f4a2713aSLionel Sambuc 
879*f4a2713aSLionel Sambuc /// Aaa.
880*f4a2713aSLionel Sambuc /// \todo Bbb.
881*f4a2713aSLionel Sambuc ///
882*f4a2713aSLionel Sambuc /// Ccc.
883*f4a2713aSLionel Sambuc /// \todo Ddd.
884*f4a2713aSLionel Sambuc void comment_to_xml_conversion_todo_3();
885*f4a2713aSLionel Sambuc // 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>]
886*f4a2713aSLionel Sambuc 
887*f4a2713aSLionel Sambuc /// Aaa.
888*f4a2713aSLionel Sambuc /// \todo Bbb.
889*f4a2713aSLionel Sambuc /// \todo Ccc.
890*f4a2713aSLionel Sambuc void comment_to_xml_conversion_todo_4();
891*f4a2713aSLionel Sambuc // 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>]
892*f4a2713aSLionel Sambuc 
893*f4a2713aSLionel Sambuc 
894*f4a2713aSLionel Sambuc //===---
895*f4a2713aSLionel Sambuc // Test the representation of exception specifications in AST and XML.
896*f4a2713aSLionel Sambuc //===---
897*f4a2713aSLionel Sambuc 
898*f4a2713aSLionel Sambuc /// Aaa.
899*f4a2713aSLionel Sambuc /// \throws Bbb.
900*f4a2713aSLionel Sambuc void comment_to_xml_conversion_exceptions_1();
901*f4a2713aSLionel Sambuc // 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>]
902*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
903*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
904*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
905*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
906*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
907*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throws]
908*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
909*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
910*f4a2713aSLionel Sambuc 
911*f4a2713aSLionel Sambuc /// Aaa.
912*f4a2713aSLionel Sambuc /// \throw Bbb.
913*f4a2713aSLionel Sambuc void comment_to_xml_conversion_exceptions_2();
914*f4a2713aSLionel Sambuc // 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>]
915*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
916*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
917*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
918*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
919*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
920*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throw]
921*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
922*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
923*f4a2713aSLionel Sambuc 
924*f4a2713aSLionel Sambuc /// Aaa.
925*f4a2713aSLionel Sambuc /// \exception Bbb.
926*f4a2713aSLionel Sambuc void comment_to_xml_conversion_exceptions_3();
927*f4a2713aSLionel Sambuc // 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>]
928*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
929*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
930*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
931*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
932*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
933*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[exception]
934*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
935*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.]))))]
936*f4a2713aSLionel Sambuc 
937*f4a2713aSLionel Sambuc /// Aaa.
938*f4a2713aSLionel Sambuc /// \throws Bbb.
939*f4a2713aSLionel Sambuc /// \throws Ccc.
940*f4a2713aSLionel Sambuc /// \throws Ddd.
941*f4a2713aSLionel Sambuc void comment_to_xml_conversion_exceptions_4();
942*f4a2713aSLionel Sambuc // 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>]
943*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
944*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
945*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
946*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
947*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
948*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throws]
949*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
950*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.] HasTrailingNewline)
951*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
952*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throws]
953*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
954*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc.] HasTrailingNewline)
955*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
956*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throws]
957*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
958*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ddd.]))))]
959*f4a2713aSLionel Sambuc 
960*f4a2713aSLionel Sambuc /// Aaa.
961*f4a2713aSLionel Sambuc /// \throws Bbb.
962*f4a2713aSLionel Sambuc /// \throw Ccc.
963*f4a2713aSLionel Sambuc void comment_to_xml_conversion_exceptions_5();
964*f4a2713aSLionel Sambuc // 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>]
965*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
966*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
967*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
968*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ Aaa.] HasTrailingNewline)
969*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[ ] IsWhitespace))
970*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throws]
971*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
972*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Bbb.] HasTrailingNewline)
973*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ ] IsWhitespace)))
974*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_BlockCommand CommandName=[throw]
975*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Paragraph
976*f4a2713aSLionel Sambuc // CHECK-NEXT:           (CXComment_Text Text=[ Ccc.]))))]
977*f4a2713aSLionel Sambuc 
978*f4a2713aSLionel Sambuc 
979*f4a2713aSLionel Sambuc // rdar://14348912
980*f4a2713aSLionel Sambuc #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
981*f4a2713aSLionel Sambuc 
982*f4a2713aSLionel Sambuc /**! Documentation comment */
983*f4a2713aSLionel Sambuc typedef NS_ENUM(int, Color) { Red, Green, Blue };
984*f4a2713aSLionel Sambuc // CHECK: comment-to-html-xml-conversion.cpp:[[@LINE-1]]:22: TypedefDecl=Color:[[@LINE-1]]:22
985*f4a2713aSLionel Sambuc // CHECK-NEXT:  CommentAST=[
986*f4a2713aSLionel Sambuc // CHECK-NEXT:    (CXComment_FullComment
987*f4a2713aSLionel Sambuc // CHECK-NEXT:       (CXComment_Paragraph
988*f4a2713aSLionel Sambuc // CHECK-NEXT:         (CXComment_Text Text=[! Documentation comment ])))]
989*f4a2713aSLionel Sambuc 
990*f4a2713aSLionel Sambuc #endif
991*f4a2713aSLionel Sambuc 
992