xref: /llvm-project/clang/test/ASTMerge/class/Inputs/class1.cpp (revision 0333dd95636da52229ca14b4e5525c1cd8ba62d2)
1*0333dd95SReid Kleckner struct A {
2*0333dd95SReid Kleckner   public:
3*0333dd95SReid Kleckner     int x;
4*0333dd95SReid Kleckner };
5*0333dd95SReid Kleckner 
6*0333dd95SReid Kleckner struct B : A {
7*0333dd95SReid Kleckner   float y;
8*0333dd95SReid Kleckner   float foo();
9*0333dd95SReid Kleckner };
10*0333dd95SReid Kleckner 
11*0333dd95SReid Kleckner struct C {
12*0333dd95SReid Kleckner   C(int i = 10);
13*0333dd95SReid Kleckner   C(const C&);
14*0333dd95SReid Kleckner   C &operator=(C&);
15*0333dd95SReid Kleckner   ~C();
16*0333dd95SReid Kleckner };
17*0333dd95SReid Kleckner 
18*0333dd95SReid Kleckner enum E {
19*0333dd95SReid Kleckner   b = 1
20*0333dd95SReid Kleckner };
21*0333dd95SReid Kleckner 
22*0333dd95SReid Kleckner //Friend import tests
23*0333dd95SReid Kleckner void f();
24*0333dd95SReid Kleckner int g(int a);
25*0333dd95SReid Kleckner struct X;
26*0333dd95SReid Kleckner struct Y;
27*0333dd95SReid Kleckner 
28*0333dd95SReid Kleckner struct F1 {
29*0333dd95SReid Kleckner public:
30*0333dd95SReid Kleckner   int x;
31*0333dd95SReid Kleckner   friend struct X;
32*0333dd95SReid Kleckner   friend int g(int);
33*0333dd95SReid Kleckner   friend void f();
34*0333dd95SReid Kleckner };
35*0333dd95SReid Kleckner 
36*0333dd95SReid Kleckner struct F2 {
37*0333dd95SReid Kleckner public:
38*0333dd95SReid Kleckner   int x;
39*0333dd95SReid Kleckner   friend struct X;
40*0333dd95SReid Kleckner   friend void f();
41*0333dd95SReid Kleckner };
42*0333dd95SReid Kleckner 
43*0333dd95SReid Kleckner struct F3 {
44*0333dd95SReid Kleckner public:
45*0333dd95SReid Kleckner   int x;
46*0333dd95SReid Kleckner   friend int g(int);
47*0333dd95SReid Kleckner   friend void f();
48*0333dd95SReid Kleckner };
49