format-comment-cdecls.c revision 88b9521364735a6c9a7ccd23c5bd19d81a80cdd3
1// RUN: rm -rf %t
2// RUN: mkdir %t
3// RUN: env LIBCLANG_ACTIVATE_FORMAT=1 \
4// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s \
5// RUN: | FileCheck %s
6
7/**
8 * \brief Aaa.
9*/
10int global_function();
11// CHECK: <Declaration>int global_function()</Declaration>
12
13/**
14 * \param x1 Aaa.
15*/
16extern void external_function(int x1);
17// CHECK: <Declaration>extern void external_function(int x1)</Declaration>
18
19/**
20 * \brief global variable;
21*/
22int global_variable;
23// CHECK: <Declaration>int global_variable</Declaration>
24
25/**
26 * \brief local variable;
27*/
28static int static_variable;
29// CHECK: <Declaration>static int static_variable</Declaration>
30
31/**
32 * \brief external variable
33*/
34extern int external_variable;
35// CHECK: <Declaration>extern int external_variable</Declaration>
36
37int global_function() {
38  /**
39   * \brief a local variable
40  */
41  int local = 10;
42  return local;
43}
44// CHECK: <Declaration>int global_function()</Declaration>
45// CHECK: <Declaration>int local = 10</Declaration>
46
47/**
48 * \brief initialized decl.
49*/
50int initialized_global = 100;
51// CHECK: <Declaration>int initialized_global = 100</Declaration>
52
53/**
54 * \brief typedef example
55*/
56typedef int INT_T;
57// CHECK: <Declaration>typedef int INT_T</Declaration>
58
59/**
60 * \brief aggregate type example
61*/
62struct S {
63/**
64 * \brief iS1;
65*/
66  int iS1;
67/**
68 * \brief dS1;
69*/
70  double dS1;
71};
72// CHECK: <Declaration>struct S {\n}</Declaration>
73// CHECK: <Declaration>int iS1</Declaration>
74// CHECK: <Declaration>double dS1</Declaration>
75
76/**
77 * \brief enum e;
78*/
79enum e {
80  One,
81/**
82 * \brief Two;
83*/
84  Two,
85  Three
86};
87// CHECK: <Declaration>enum e {\n}</Declaration>
88// CHECK: <Declaration>Two</Declaration>
89
90/**
91 *\brief block declaration
92*/
93int (^Block) (int i, int j);
94// CHECK: <Declaration>int (^Block)(int, int)</Declaration>
95
96/**
97 *\brief block declaration
98*/
99int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; };
100// CHECK: <Declaration>int (^ Block1) (int, int) = ^ (int i, int j) {\n}</Declaration>
101