xref: /minix3/external/bsd/llvm/dist/clang/test/Index/annotate-comments.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // Run lines are sensitive to line numbers and come below the code.
2*f4a2713aSLionel Sambuc 
3*f4a2713aSLionel Sambuc #ifndef HEADER
4*f4a2713aSLionel Sambuc #define HEADER
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc // Not a Doxygen comment.  NOT_DOXYGEN
7*f4a2713aSLionel Sambuc void notdoxy1(void);
8*f4a2713aSLionel Sambuc 
9*f4a2713aSLionel Sambuc /* Not a Doxygen comment.  NOT_DOXYGEN */
10*f4a2713aSLionel Sambuc void notdoxy2(void);
11*f4a2713aSLionel Sambuc 
12*f4a2713aSLionel Sambuc /*/ Not a Doxygen comment.  NOT_DOXYGEN */
13*f4a2713aSLionel Sambuc void notdoxy3(void);
14*f4a2713aSLionel Sambuc 
15*f4a2713aSLionel Sambuc /** Doxygen comment.  isdoxy4 IS_DOXYGEN_SINGLE */
16*f4a2713aSLionel Sambuc void isdoxy4(void);
17*f4a2713aSLionel Sambuc 
18*f4a2713aSLionel Sambuc /**
19*f4a2713aSLionel Sambuc  * Doxygen comment.  isdoxy5 IS_DOXYGEN_SINGLE */
20*f4a2713aSLionel Sambuc void isdoxy5(void);
21*f4a2713aSLionel Sambuc 
22*f4a2713aSLionel Sambuc /**
23*f4a2713aSLionel Sambuc  * Doxygen comment.
24*f4a2713aSLionel Sambuc  * isdoxy6 IS_DOXYGEN_SINGLE */
25*f4a2713aSLionel Sambuc void isdoxy6(void);
26*f4a2713aSLionel Sambuc 
27*f4a2713aSLionel Sambuc /**
28*f4a2713aSLionel Sambuc  * Doxygen comment.
29*f4a2713aSLionel Sambuc  * isdoxy7 IS_DOXYGEN_SINGLE
30*f4a2713aSLionel Sambuc  */
31*f4a2713aSLionel Sambuc void isdoxy7(void);
32*f4a2713aSLionel Sambuc 
33*f4a2713aSLionel Sambuc /*! Doxygen comment.  isdoxy8 IS_DOXYGEN_SINGLE */
34*f4a2713aSLionel Sambuc void isdoxy8(void);
35*f4a2713aSLionel Sambuc 
36*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy9 IS_DOXYGEN_SINGLE
37*f4a2713aSLionel Sambuc void isdoxy9(void);
38*f4a2713aSLionel Sambuc 
39*f4a2713aSLionel Sambuc // Not a Doxygen comment.  NOT_DOXYGEN
40*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy10 IS_DOXYGEN_SINGLE
41*f4a2713aSLionel Sambuc void isdoxy10(void);
42*f4a2713aSLionel Sambuc 
43*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy11 IS_DOXYGEN_SINGLE
44*f4a2713aSLionel Sambuc // Not a Doxygen comment.  NOT_DOXYGEN
45*f4a2713aSLionel Sambuc void isdoxy11(void);
46*f4a2713aSLionel Sambuc 
47*f4a2713aSLionel Sambuc /** Doxygen comment.  isdoxy12  IS_DOXYGEN_SINGLE */
48*f4a2713aSLionel Sambuc /* Not a Doxygen comment.  NOT_DOXYGEN */
49*f4a2713aSLionel Sambuc void isdoxy12(void);
50*f4a2713aSLionel Sambuc 
51*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy13 IS_DOXYGEN_START
52*f4a2713aSLionel Sambuc /// Doxygen comment.  IS_DOXYGEN_END
53*f4a2713aSLionel Sambuc void isdoxy13(void);
54*f4a2713aSLionel Sambuc 
55*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy14 IS_DOXYGEN_START
56*f4a2713aSLionel Sambuc /// Blah-blah-blah.
57*f4a2713aSLionel Sambuc /// Doxygen comment.  IS_DOXYGEN_END
58*f4a2713aSLionel Sambuc void isdoxy14(void);
59*f4a2713aSLionel Sambuc 
60*f4a2713aSLionel Sambuc /// Doxygen comment.  isdoxy15 IS_DOXYGEN_START
61*f4a2713aSLionel Sambuc /** Blah-blah-blah */
62*f4a2713aSLionel Sambuc /// Doxygen comment.  IS_DOXYGEN_END
63*f4a2713aSLionel Sambuc void isdoxy15(void);
64*f4a2713aSLionel Sambuc 
65*f4a2713aSLionel Sambuc /** Blah-blah-blah. isdoxy16 IS_DOXYGEN_START *//** Blah */
66*f4a2713aSLionel Sambuc /// Doxygen comment.  IS_DOXYGEN_END
67*f4a2713aSLionel Sambuc void isdoxy16(void);
68*f4a2713aSLionel Sambuc 
69*f4a2713aSLionel Sambuc /// NOT_DOXYGEN
70*f4a2713aSLionel Sambuc // NOT_DOXYGEN
71*f4a2713aSLionel Sambuc /// isdoxy17 IS_DOXYGEN_START IS_DOXYGEN_END
72*f4a2713aSLionel Sambuc void isdoxy17(void);
73*f4a2713aSLionel Sambuc 
74*f4a2713aSLionel Sambuc unsigned
75*f4a2713aSLionel Sambuc // NOT_DOXYGEN
76*f4a2713aSLionel Sambuc /// NOT_DOXYGEN
77*f4a2713aSLionel Sambuc // NOT_DOXYGEN
78*f4a2713aSLionel Sambuc /// isdoxy18 IS_DOXYGEN_START IS_DOXYGEN_END
79*f4a2713aSLionel Sambuc // NOT_DOXYGEN
80*f4a2713aSLionel Sambuc int isdoxy18(void);
81*f4a2713aSLionel Sambuc 
82*f4a2713aSLionel Sambuc //! It all starts here. isdoxy19 IS_DOXYGEN_START
83*f4a2713aSLionel Sambuc /*! It's a little odd to continue line this,
84*f4a2713aSLionel Sambuc  *
85*f4a2713aSLionel Sambuc  * but we need more multi-line comments. */
86*f4a2713aSLionel Sambuc /// This comment comes before my other comments
87*f4a2713aSLionel Sambuc /** This is a block comment that is associated with the function f. It
88*f4a2713aSLionel Sambuc  *  runs for three lines.  IS_DOXYGEN_END
89*f4a2713aSLionel Sambuc  */
90*f4a2713aSLionel Sambuc void isdoxy19(int, int);
91*f4a2713aSLionel Sambuc 
92*f4a2713aSLionel Sambuc // NOT IN THE COMMENT  NOT_DOXYGEN
93*f4a2713aSLionel Sambuc /// This is a BCPL comment.  isdoxy20 IS_DOXYGEN_START
94*f4a2713aSLionel Sambuc /// It has only two lines.
95*f4a2713aSLionel Sambuc /** But there are other blocks that are part of the comment, too.  IS_DOXYGEN_END */
96*f4a2713aSLionel Sambuc void isdoxy20(int);
97*f4a2713aSLionel Sambuc 
98*f4a2713aSLionel Sambuc void notdoxy21(int); ///< This is a member comment.  isdoxy21 IS_DOXYGEN_NOT_ATTACHED
99*f4a2713aSLionel Sambuc 
100*f4a2713aSLionel Sambuc void notdoxy22(int); /*!< This is a member comment.  isdoxy22 IS_DOXYGEN_NOT_ATTACHED */
101*f4a2713aSLionel Sambuc 
102*f4a2713aSLionel Sambuc void notdoxy23(int); /**< This is a member comment.  isdoxy23 IS_DOXYGEN_NOT_ATTACHED */
103*f4a2713aSLionel Sambuc 
104*f4a2713aSLionel Sambuc void notdoxy24(int); // NOT_DOXYGEN
105*f4a2713aSLionel Sambuc 
106*f4a2713aSLionel Sambuc /// IS_DOXYGEN_SINGLE
107*f4a2713aSLionel Sambuc struct isdoxy25 {
108*f4a2713aSLionel Sambuc };
109*f4a2713aSLionel Sambuc 
110*f4a2713aSLionel Sambuc struct test26 {
111*f4a2713aSLionel Sambuc   /// IS_DOXYGEN_SINGLE
112*f4a2713aSLionel Sambuc   int isdoxy26;
113*f4a2713aSLionel Sambuc };
114*f4a2713aSLionel Sambuc 
115*f4a2713aSLionel Sambuc struct test27 {
116*f4a2713aSLionel Sambuc   int isdoxy27; ///< IS_DOXYGEN_SINGLE
117*f4a2713aSLionel Sambuc };
118*f4a2713aSLionel Sambuc 
119*f4a2713aSLionel Sambuc struct notdoxy28 {
120*f4a2713aSLionel Sambuc }; ///< IS_DOXYGEN_NOT_ATTACHED
121*f4a2713aSLionel Sambuc 
122*f4a2713aSLionel Sambuc /// IS_DOXYGEN_SINGLE
123*f4a2713aSLionel Sambuc enum isdoxy29 {
124*f4a2713aSLionel Sambuc };
125*f4a2713aSLionel Sambuc 
126*f4a2713aSLionel Sambuc enum notdoxy30 {
127*f4a2713aSLionel Sambuc }; ///< IS_DOXYGEN_NOT_ATTACHED
128*f4a2713aSLionel Sambuc 
129*f4a2713aSLionel Sambuc /// IS_DOXYGEN_SINGLE
130*f4a2713aSLionel Sambuc namespace isdoxy31 {
131*f4a2713aSLionel Sambuc };
132*f4a2713aSLionel Sambuc 
133*f4a2713aSLionel Sambuc namespace notdoxy32 {
134*f4a2713aSLionel Sambuc }; ///< IS_DOXYGEN_NOT_ATTACHED
135*f4a2713aSLionel Sambuc 
136*f4a2713aSLionel Sambuc class test33 {
137*f4a2713aSLionel Sambuc                 ///< IS_DOXYGEN_NOT_ATTACHED
138*f4a2713aSLionel Sambuc   int isdoxy33; ///< isdoxy33 IS_DOXYGEN_SINGLE
139*f4a2713aSLionel Sambuc   int isdoxy34; ///< isdoxy34 IS_DOXYGEN_SINGLE
140*f4a2713aSLionel Sambuc 
141*f4a2713aSLionel Sambuc                 ///< IS_DOXYGEN_NOT_ATTACHED
142*f4a2713aSLionel Sambuc   int isdoxy35, ///< isdoxy35 IS_DOXYGEN_SINGLE
143*f4a2713aSLionel Sambuc       isdoxy36; ///< isdoxy36 IS_DOXYGEN_SINGLE
144*f4a2713aSLionel Sambuc 
145*f4a2713aSLionel Sambuc                 ///< IS_DOXYGEN_NOT_ATTACHED
146*f4a2713aSLionel Sambuc   int isdoxy37  ///< isdoxy37 IS_DOXYGEN_SINGLE
147*f4a2713aSLionel Sambuc     , isdoxy38  ///< isdoxy38 IS_DOXYGEN_SINGLE
148*f4a2713aSLionel Sambuc     , isdoxy39; ///< isdoxy39 IS_DOXYGEN_SINGLE
149*f4a2713aSLionel Sambuc };
150*f4a2713aSLionel Sambuc 
151*f4a2713aSLionel Sambuc // Verified that Doxygen attaches these.
152*f4a2713aSLionel Sambuc 
153*f4a2713aSLionel Sambuc /// isdoxy40 IS_DOXYGEN_SINGLE
154*f4a2713aSLionel Sambuc // NOT_DOXYGEN
155*f4a2713aSLionel Sambuc void isdoxy40(int);
156*f4a2713aSLionel Sambuc 
157*f4a2713aSLionel Sambuc unsigned
158*f4a2713aSLionel Sambuc /// isdoxy41 IS_DOXYGEN_SINGLE
159*f4a2713aSLionel Sambuc // NOT_DOXYGEN
160*f4a2713aSLionel Sambuc int isdoxy41(int);
161*f4a2713aSLionel Sambuc 
162*f4a2713aSLionel Sambuc class test42 {
163*f4a2713aSLionel Sambuc   int isdoxy42; /* NOT_DOXYGEN */ ///< isdoxy42 IS_DOXYGEN_SINGLE
164*f4a2713aSLionel Sambuc };
165*f4a2713aSLionel Sambuc 
166*f4a2713aSLionel Sambuc /// IS_DOXYGEN_START
167*f4a2713aSLionel Sambuc /// It is fine to have a command at the end of comment.
168*f4a2713aSLionel Sambuc ///\brief
169*f4a2713aSLionel Sambuc ///
170*f4a2713aSLionel Sambuc /// Some malformed command.
171*f4a2713aSLionel Sambuc /** \*/
172*f4a2713aSLionel Sambuc /**
173*f4a2713aSLionel Sambuc  * \brief Aaa aaaaaaa aaaa.
174*f4a2713aSLionel Sambuc  * IS_DOXYGEN_END
175*f4a2713aSLionel Sambuc  */
176*f4a2713aSLionel Sambuc void isdoxy43(void);
177*f4a2713aSLionel Sambuc 
178*f4a2713aSLionel Sambuc /// IS_DOXYGEN_START Aaa bbb
179*f4a2713aSLionel Sambuc /// ccc.
180*f4a2713aSLionel Sambuc ///
181*f4a2713aSLionel Sambuc /// Ddd eee.
182*f4a2713aSLionel Sambuc /// Fff.
183*f4a2713aSLionel Sambuc ///
184*f4a2713aSLionel Sambuc /// Ggg. IS_DOXYGEN_END
185*f4a2713aSLionel Sambuc void isdoxy44(void);
186*f4a2713aSLionel Sambuc 
187*f4a2713aSLionel Sambuc /// IS_DOXYGEN_START Aaa bbb
188*f4a2713aSLionel Sambuc /// ccc.
189*f4a2713aSLionel Sambuc ///
190*f4a2713aSLionel Sambuc /// \brief
191*f4a2713aSLionel Sambuc /// Ddd eee.
192*f4a2713aSLionel Sambuc /// Fff.
193*f4a2713aSLionel Sambuc ///
194*f4a2713aSLionel Sambuc /// Ggg. IS_DOXYGEN_END
195*f4a2713aSLionel Sambuc void isdoxy45(void);
196*f4a2713aSLionel Sambuc 
197*f4a2713aSLionel Sambuc /// IS_DOXYGEN_START Aaa bbb
198*f4a2713aSLionel Sambuc /// ccc.
199*f4a2713aSLionel Sambuc ///
200*f4a2713aSLionel Sambuc /// \short
201*f4a2713aSLionel Sambuc /// Ddd eee.
202*f4a2713aSLionel Sambuc /// Fff.
203*f4a2713aSLionel Sambuc ///
204*f4a2713aSLionel Sambuc /// Ggg. IS_DOXYGEN_END
205*f4a2713aSLionel Sambuc void isdoxy46(void);
206*f4a2713aSLionel Sambuc 
207*f4a2713aSLionel Sambuc /// IS_DOXYGEN_NOT_ATTACHED
208*f4a2713aSLionel Sambuc #define FOO
209*f4a2713aSLionel Sambuc void notdoxy47(void);
210*f4a2713aSLionel Sambuc 
211*f4a2713aSLionel Sambuc /// IS_DOXYGEN_START Aaa bbb
212*f4a2713aSLionel Sambuc /// \param ccc
213*f4a2713aSLionel Sambuc /// \returns ddd IS_DOXYGEN_END
214*f4a2713aSLionel Sambuc void isdoxy48(int);
215*f4a2713aSLionel Sambuc 
216*f4a2713aSLionel Sambuc /// \brief IS_DOXYGEN_START Aaa
217*f4a2713aSLionel Sambuc /// \returns bbb IS_DOXYGEN_END
218*f4a2713aSLionel Sambuc void isdoxy49(void);
219*f4a2713aSLionel Sambuc 
220*f4a2713aSLionel Sambuc /// \param ccc IS_DOXYGEN_START
221*f4a2713aSLionel Sambuc /// \returns ddd IS_DOXYGEN_END
222*f4a2713aSLionel Sambuc void isdoxy50(int);
223*f4a2713aSLionel Sambuc 
224*f4a2713aSLionel Sambuc // One of the following lines has trailing whitespace.  It is intended, don't
225*f4a2713aSLionel Sambuc // fix it.
226*f4a2713aSLionel Sambuc /**
227*f4a2713aSLionel Sambuc  * Aaa. IS_DOXYGEN_START
228*f4a2713aSLionel Sambuc  *
229*f4a2713aSLionel Sambuc  * Bbb. IS_DOXYGEN_END
230*f4a2713aSLionel Sambuc  */
231*f4a2713aSLionel Sambuc void isdoxy51(int);
232*f4a2713aSLionel Sambuc 
233*f4a2713aSLionel Sambuc // One of the following lines has trailing whitespace.  It is intended, don't
234*f4a2713aSLionel Sambuc // fix it.
235*f4a2713aSLionel Sambuc /**
236*f4a2713aSLionel Sambuc  * Aaa. IS_DOXYGEN_START
237*f4a2713aSLionel Sambuc  * Bbb.
238*f4a2713aSLionel Sambuc  *
239*f4a2713aSLionel Sambuc  * Ccc. IS_DOXYGEN_END
240*f4a2713aSLionel Sambuc  */
241*f4a2713aSLionel Sambuc void isdoxy52(int);
242*f4a2713aSLionel Sambuc 
243*f4a2713aSLionel Sambuc /**
244*f4a2713aSLionel Sambuc  * \fn isdoxy53
245*f4a2713aSLionel Sambuc  *
246*f4a2713aSLionel Sambuc  * Aaa. IS_DOXYGEN_START IS_DOXYGEN_END
247*f4a2713aSLionel Sambuc  */
248*f4a2713aSLionel Sambuc void isdoxy53(int);
249*f4a2713aSLionel Sambuc 
250*f4a2713aSLionel Sambuc #define MYMAC(x,y)
251*f4a2713aSLionel Sambuc /**
252*f4a2713aSLionel Sambuc  * Aaa. IS_DOXYGEN_START IS_DOXYGEN_END
253*f4a2713aSLionel Sambuc  */
254*f4a2713aSLionel Sambuc MYMAC(0,0)
255*f4a2713aSLionel Sambuc void isdoxy54(int);
256*f4a2713aSLionel Sambuc 
257*f4a2713aSLionel Sambuc #endif
258*f4a2713aSLionel Sambuc 
259*f4a2713aSLionel Sambuc // RUN: rm -rf %t
260*f4a2713aSLionel Sambuc // RUN: mkdir %t
261*f4a2713aSLionel Sambuc 
262*f4a2713aSLionel Sambuc // Check that we serialize comment source locations properly.
263*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -std=c++11 -emit-pch -o %t/out.pch %s
264*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -std=c++11 -include-pch %t/out.pch -fsyntax-only %s
265*f4a2713aSLionel Sambuc 
266*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
267*f4a2713aSLionel Sambuc // RUN: c-index-test -test-load-tu %t/out.pch all > %t/out.c-index-pch
268*f4a2713aSLionel Sambuc 
269*f4a2713aSLionel Sambuc // RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-direct
270*f4a2713aSLionel Sambuc // RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-pch
271*f4a2713aSLionel Sambuc 
272*f4a2713aSLionel Sambuc // Declarations without Doxygen comments should not pick up some Doxygen comments.
273*f4a2713aSLionel Sambuc // WRONG-NOT: notdoxy{{.*}}Comment=
274*f4a2713aSLionel Sambuc // WRONG-NOT: test{{.*}}Comment=
275*f4a2713aSLionel Sambuc 
276*f4a2713aSLionel Sambuc // Non-Doxygen comments should not be attached to anything.
277*f4a2713aSLionel Sambuc // WRONG-NOT: NOT_DOXYGEN
278*f4a2713aSLionel Sambuc 
279*f4a2713aSLionel Sambuc // Some Doxygen comments are not attached to anything.
280*f4a2713aSLionel Sambuc // WRONG-NOT: IS_DOXYGEN_NOT_ATTACHED
281*f4a2713aSLionel Sambuc 
282*f4a2713aSLionel Sambuc // Ensure we don't pick up extra comments.
283*f4a2713aSLionel Sambuc // WRONG-NOT: IS_DOXYGEN_START{{.*}}IS_DOXYGEN_START{{.*}}BriefComment=
284*f4a2713aSLionel Sambuc // WRONG-NOT: IS_DOXYGEN_END{{.*}}IS_DOXYGEN_END{{.*}}BriefComment=
285*f4a2713aSLionel Sambuc //
286*f4a2713aSLionel Sambuc // Ensure that XML is not invalid
287*f4a2713aSLionel Sambuc // WRONG-NOT: CommentXMLInvalid
288*f4a2713aSLionel Sambuc 
289*f4a2713aSLionel Sambuc // RUN: FileCheck %s < %t/out.c-index-direct
290*f4a2713aSLionel Sambuc // RUN: FileCheck %s < %t/out.c-index-pch
291*f4a2713aSLionel Sambuc 
292*f4a2713aSLionel Sambuc // These CHECK lines are not located near the code on purpose.  This test
293*f4a2713aSLionel Sambuc // checks that documentation comments are attached to declarations correctly.
294*f4a2713aSLionel Sambuc // Adding a non-documentation comment with CHECK line between every two
295*f4a2713aSLionel Sambuc // documentation comments will only test a single code path.
296*f4a2713aSLionel Sambuc //
297*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:16:6: FunctionDecl=isdoxy4:{{.*}} isdoxy4 IS_DOXYGEN_SINGLE
298*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:20:6: FunctionDecl=isdoxy5:{{.*}} isdoxy5 IS_DOXYGEN_SINGLE
299*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:25:6: FunctionDecl=isdoxy6:{{.*}} isdoxy6 IS_DOXYGEN_SINGLE
300*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:31:6: FunctionDecl=isdoxy7:{{.*}} isdoxy7 IS_DOXYGEN_SINGLE
301*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:34:6: FunctionDecl=isdoxy8:{{.*}} isdoxy8 IS_DOXYGEN_SINGLE
302*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:37:6: FunctionDecl=isdoxy9:{{.*}} isdoxy9 IS_DOXYGEN_SINGLE
303*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:41:6: FunctionDecl=isdoxy10:{{.*}} isdoxy10 IS_DOXYGEN_SINGLE
304*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:53:6: FunctionDecl=isdoxy13:{{.*}} isdoxy13 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
305*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:58:6: FunctionDecl=isdoxy14:{{.*}} isdoxy14 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
306*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:63:6: FunctionDecl=isdoxy15:{{.*}} isdoxy15 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
307*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:67:6: FunctionDecl=isdoxy16:{{.*}} isdoxy16 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
308*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:72:6: FunctionDecl=isdoxy17:{{.*}} isdoxy17 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
309*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:80:5: FunctionDecl=isdoxy18:{{.*}} isdoxy18 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
310*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:90:6: FunctionDecl=isdoxy19:{{.*}} isdoxy19 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
311*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:96:6: FunctionDecl=isdoxy20:{{.*}} isdoxy20 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
312*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:107:8: StructDecl=isdoxy25:{{.*}} IS_DOXYGEN_SINGLE
313*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:112:7: FieldDecl=isdoxy26:{{.*}} IS_DOXYGEN_SINGLE
314*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:116:7: FieldDecl=isdoxy27:{{.*}} IS_DOXYGEN_SINGLE
315*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:123:6: EnumDecl=isdoxy29:{{.*}} IS_DOXYGEN_SINGLE
316*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:130:11: Namespace=isdoxy31:{{.*}} IS_DOXYGEN_SINGLE
317*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:138:7: FieldDecl=isdoxy33:{{.*}} isdoxy33 IS_DOXYGEN_SINGLE
318*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:139:7: FieldDecl=isdoxy34:{{.*}} isdoxy34 IS_DOXYGEN_SINGLE
319*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:142:7: FieldDecl=isdoxy35:{{.*}} isdoxy35 IS_DOXYGEN_SINGLE
320*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:143:7: FieldDecl=isdoxy36:{{.*}} isdoxy36 IS_DOXYGEN_SINGLE
321*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:146:7: FieldDecl=isdoxy37:{{.*}} isdoxy37 IS_DOXYGEN_SINGLE
322*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:147:7: FieldDecl=isdoxy38:{{.*}} isdoxy38 IS_DOXYGEN_SINGLE
323*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:148:7: FieldDecl=isdoxy39:{{.*}} isdoxy39 IS_DOXYGEN_SINGLE
324*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:155:6: FunctionDecl=isdoxy40:{{.*}} isdoxy40 IS_DOXYGEN_SINGLE
325*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:160:5: FunctionDecl=isdoxy41:{{.*}} isdoxy41 IS_DOXYGEN_SINGLE
326*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:163:7: FieldDecl=isdoxy42:{{.*}} isdoxy42 IS_DOXYGEN_SINGLE
327*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:176:6: FunctionDecl=isdoxy43:{{.*}} IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END
328*f4a2713aSLionel Sambuc 
329*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:185:6: FunctionDecl=isdoxy44:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb ccc.]
330*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:195:6: FunctionDecl=isdoxy45:{{.*}} BriefComment=[Ddd eee. Fff.]
331*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:205:6: FunctionDecl=isdoxy46:{{.*}} BriefComment=[Ddd eee. Fff.]
332*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:214:6: FunctionDecl=isdoxy48:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb]
333*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:218:6: FunctionDecl=isdoxy49:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa]
334*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:222:6: FunctionDecl=isdoxy50:{{.*}} BriefComment=[Returns ddd IS_DOXYGEN_END]
335*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:231:6: FunctionDecl=isdoxy51:{{.*}} BriefComment=[Aaa. IS_DOXYGEN_START]
336*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:241:6: FunctionDecl=isdoxy52:{{.*}} BriefComment=[Aaa. IS_DOXYGEN_START Bbb.]
337*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:248:6: FunctionDecl=isdoxy53:{{.*}} BriefComment=[Aaa. IS_DOXYGEN_START IS_DOXYGEN_END]
338*f4a2713aSLionel Sambuc // CHECK: annotate-comments.cpp:255:6: FunctionDecl=isdoxy54:{{.*}} BriefComment=[Aaa. IS_DOXYGEN_START IS_DOXYGEN_END]
339