]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Index/comment-misc-tags.m
Vendor import of clang tags/RELEASE_33/final r183502 (effectively, 3.3
[FreeBSD/FreeBSD.git] / test / Index / comment-misc-tags.m
1 // RUN: rm -rf %t
2 // RUN: mkdir %t
3 // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out
4 // RUN: FileCheck %s < %t/out
5 // rdar://12379114
6
7 /*!
8      @interface IOCommandGate
9      @brief    This is a brief
10      @abstract Single-threaded work-loop client request mechanism.
11      @discussion An IOCommandGate instance is an extremely light weight mechanism that
12          executes an action on the driver's work-loop...
13      @textblock
14        Many discussions about text
15        Many1 discussions about text
16        Many2 discussions about text
17      @/textblock
18      @link //un_ref/c/func/function_name link text goes here @/link
19      @see  //un_ref/doc/uid/XX0000011 I/O Kit Fundamentals
20      @seealso //k_ref/doc/uid/XX30000905-CH204 Programming
21  */
22 @interface IOCommandGate
23 @end
24
25 // CHECK:       (CXComment_BlockCommand CommandName=[abstract]
26 // CHECK-NEXT:    (CXComment_Paragraph
27 // CHECK-NEXT:       (CXComment_Text Text=[ Single-threaded work-loop client request mechanism.] HasTrailingNewline)
28 // CHECK:       (CXComment_BlockCommand CommandName=[discussion]
29 // CHECK-NEXT:     (CXComment_Paragraph
30 // CHECK-NEXT:       (CXComment_Text Text=[ An IOCommandGate instance is an extremely light weight mechanism that] HasTrailingNewline)
31 // CHECK-NEXT:       (CXComment_Text Text=[         executes an action on the driver's work-loop...] HasTrailingNewline)
32 // CHECK:       (CXComment_VerbatimBlockCommand CommandName=[textblock]
33 // CHECK-NEXT:     (CXComment_VerbatimBlockLine Text=[       Many discussions about text])
34 // CHECK-NEXT:       (CXComment_VerbatimBlockLine Text=[       Many1 discussions about text])
35 // CHECK-NEXT:       (CXComment_VerbatimBlockLine Text=[       Many2 discussions about text]))
36 // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
37
38 // CHECK:       (CXComment_VerbatimBlockCommand CommandName=[link]
39 // CHECK-NEXT:     (CXComment_VerbatimBlockLine Text=[ //un_ref/c/func/function_name link text goes here ]))
40 // CHECK-NEXT:     (CXComment_Paragraph IsWhitespace
41 // CHECK-NEXT:     (CXComment_Text Text=[     ] IsWhitespace))
42 // CHECK:       (CXComment_BlockCommand CommandName=[see]
43 // CHECK-NEXT:     (CXComment_Paragraph
44 // CHECK-NEXT:     (CXComment_Text Text=[  //un_ref/doc/uid/XX0000011 I/O Kit Fundamentals] HasTrailingNewline)
45 // CHECK-NEXT:     (CXComment_Text Text=[     ] IsWhitespace)))
46 // CHECK:       (CXComment_BlockCommand CommandName=[seealso]
47 // CHECK-NEXT:     (CXComment_Paragraph
48 // CHECK-NEXT:     (CXComment_Text Text=[ //k_ref/doc/uid/XX30000905-CH204 Programming] HasTrailingNewline)
49
50 // rdar://12379053
51 /*!
52 \arg \c AlignLeft left alignment.
53 \li \c AlignRight right alignment.
54
55   No other types of alignment are supported.
56 */
57 struct S {
58   int AlignLeft;
59   int AlignRight;
60 };
61
62 // CHECK:       (CXComment_BlockCommand CommandName=[arg]
63 // CHECK-NEXT:    (CXComment_Paragraph
64 // CHECK-NEXT:    (CXComment_Text Text=[ ] IsWhitespace)
65 // CHECK-NEXT:    (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=AlignLeft)
66 // CHECK-NEXT:    (CXComment_Text Text=[ left alignment.] HasTrailingNewline)))
67 // CHECK:       (CXComment_BlockCommand CommandName=[li]
68 // CHECK-NEXT:    (CXComment_Paragraph
69 // CHECK-NEXT:    (CXComment_Text Text=[ ] IsWhitespace)
70 // CHECK-NEXT:    (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=AlignRight)
71 // CHECK-NEXT:    (CXComment_Text Text=[ right alignment.])))
72 // CHECK:       (CXComment_Paragraph
73 // CHECK-NEXT:    (CXComment_Text Text=[  No other types of alignment are supported.]))
74
75 // rdar://12379053
76 /*! \struct Test
77  * Normal text.
78  *
79  * \par User defined paragraph:
80  * Contents of the paragraph.
81  *
82  * \par
83  * New paragraph under the same heading.
84  *
85  * \note
86  * This note consists of two paragraphs.
87  * This is the first paragraph.
88  *
89  * \par
90  * And this is the second paragraph.
91  *
92  * More normal text.
93  */
94   
95 struct Test {int filler;};
96
97 // CHECK:       (CXComment_BlockCommand CommandName=[par]
98 // CHECK-NEXT:     (CXComment_Paragraph
99 // CHECK-NEXT:        (CXComment_Text Text=[ User defined paragraph:] HasTrailingNewline)
100 // CHECK-NEXT:        (CXComment_Text Text=[ Contents of the paragraph.])))
101 // CHECK:       (CXComment_BlockCommand CommandName=[par]
102 // CHECK-NEXT:     (CXComment_Paragraph
103 // CHECK-NEXT:        (CXComment_Text Text=[ New paragraph under the same heading.])))
104 // CHECK:       (CXComment_BlockCommand CommandName=[note]
105 // CHECK-NEXT:     (CXComment_Paragraph
106 // CHECK-NEXT:        (CXComment_Text Text=[ This note consists of two paragraphs.] HasTrailingNewline)
107 // CHECK-NEXT:        (CXComment_Text Text=[ This is the first paragraph.])))
108 // CHECK:       (CXComment_BlockCommand CommandName=[par]
109 // CHECK-NEXT:     (CXComment_Paragraph
110 // CHECK-NEXT:     (CXComment_Text Text=[ And this is the second paragraph.])))