summaryrefslogtreecommitdiffstats
path: root/test/input/Elaborated.cxx
blob: ce98ab96990425e66617c5037f35c2652b8b4aba (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
namespace start {

// Struct
struct Foo1;

Foo1* s1;
struct Foo1* s2; // elaborated
const Foo1* s3;
const struct Foo1* s4; // elaborated
typedef Foo1* s5;
typedef struct Foo1* s6; // elaborated

// Enum
enum Foo2
{
};

Foo2* e1;
enum Foo2* e2; // elaborated
const Foo2* e3;
const enum Foo2* e4; // elaborated
typedef Foo2* e5;
typedef enum Foo2* e6; // elaborated

// Union
union Foo3
{
};

Foo3* u1;
union Foo3* u2; // elaborated
const Foo3* u3;
const union Foo3* u4; // elaborated
typedef Foo3* u5;
typedef union Foo3* u6; // elaborated

// Class
class Foo4
{
};

Foo4* c1;
class Foo4* c2; // elaborated
const Foo3* c3;
const class Foo4* c4; // elaborated
typedef Foo4* c5;
typedef class Foo4* c6; // elaborated

// Function arguments
void func1(Foo1* a1, struct Foo1* a2);
void func2(Foo2* a3, enum Foo2* a4);
void func3(Foo3* a5, union Foo3* a6);
void func4(Foo4* a7, class Foo4* a8);
}