1 int callback_to_main(int x);
2 int f(int x) {
3   return x - 1;
4 }
5 
6 int g(int x) {
7   return callback_to_main(x) + 1;
8 }
9 
10 int h_chain(int);
11 
12 int h(int x) {
13   return 2 * h_chain(x);
14 }
15 
16 namespace myns {
17 int fns(int x) {
18   return x + 7;
19 }
20 
21 namespace embed_ns {
22 int fens(int x) {
23   return x - 3;
24 }
25 }
26 
27 class embed_cls {
28 public:
29   int fecl(int x) {
30     return x - 7;
31   }
32 };
33 }
34 
35 class mycls {
36 public:
37   int fcl(int x) {
38     return x + 5;
39   }
40   static int fscl(int x) {
41     return x + 6;
42   }
43 
44   class embed_cls2 {
45   public:
46     int fecl2(int x) {
47       return x - 11;
48     }
49   };
50 };
51 
52 namespace chns {
53 int chf2(int x);
54 
55 class chcls {
56 public:
57   int chf4(int x);
58 };
59 
60 int chf3(int x) {
61   return chcls().chf4(x);
62 }
63 
64 int chf1(int x) {
65   return chf2(x);
66 }
67 }
68 
69 typedef struct { int n; } Anonymous;
70 int fun_using_anon_struct(int n) { Anonymous anon; anon.n = n; return anon.n; }
71