summaryrefslogtreecommitdiff
path: root/test/Index/format-comment-cdecls.c
blob: 34cedfdb16b3068a9c20f11a4964ce6ef0a835bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// RUN: rm -rf %t
// RUN: mkdir %t
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s \ 
// RUN: | FileCheck %s 

/**
 * \brief Aaa.
*/
int global_function();
// CHECK: <Declaration>int global_function()</Declaration>

/**
 * \param x1 Aaa.
*/
extern void external_function(int x1);
// CHECK: <Declaration>extern void external_function(int x1)</Declaration>

/**
 * \brief global variable;
*/
int global_variable;
// CHECK: <Declaration>int global_variable</Declaration>

/**
 * \brief local variable;
*/
static int static_variable;
// CHECK: <Declaration>static int static_variable</Declaration>

/**
 * \brief external variable
*/
extern int external_variable;
// CHECK: <Declaration>extern int external_variable</Declaration>

int global_function() {
  /**
   * \brief a local variable
  */
  int local = 10;
  return local;
}
// CHECK: <Declaration>int global_function()</Declaration>
// CHECK: <Declaration>int local = 10</Declaration>

/**
 * \brief initialized decl.
*/
int initialized_global = 100;
// CHECK: <Declaration>int initialized_global = 100</Declaration>

/**
 * \brief typedef example
*/
typedef int INT_T;
// CHECK: <Declaration>typedef int INT_T</Declaration>

/**
 * \brief aggregate type example
*/
struct S {
/**
 * \brief iS1;
*/
  int iS1;
/**
 * \brief dS1;
*/
  double dS1;
};
// CHECK: <Declaration>struct S {}</Declaration>
// CHECK: <Declaration>int iS1</Declaration>
// CHECK: <Declaration>double dS1</Declaration>

/**
 * \brief enum e;
*/
enum e {
  One,
/**
 * \brief Two;
*/
  Two,
  Three
};
// CHECK: <Declaration>enum e {}</Declaration>
// CHECK: <Declaration>Two</Declaration>

/**
 *\brief block declaration
*/
int (^Block) (int i, int j);
// CHECK: <Declaration>int (^Block)(int, int)</Declaration>

/**
 *\brief block declaration
*/
int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; };
// CHECK: <Declaration>int (^Block1)(int, int) = ^(int i, int j) {\n}</Declaration>