Clang Project

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