aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/Inputs/ctu-other.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/Inputs/ctu-other.cpp')
-rw-r--r--test/Analysis/Inputs/ctu-other.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/test/Analysis/Inputs/ctu-other.cpp b/test/Analysis/Inputs/ctu-other.cpp
new file mode 100644
index 000000000000..8cad861578b4
--- /dev/null
+++ b/test/Analysis/Inputs/ctu-other.cpp
@@ -0,0 +1,77 @@
+#include "../ctu-hdr.h"
+
+int callback_to_main(int x);
+int f(int x) {
+ return x - 1;
+}
+
+int g(int x) {
+ return callback_to_main(x) + 1;
+}
+
+int h_chain(int);
+
+int h(int x) {
+ return 2 * h_chain(x);
+}
+
+namespace myns {
+int fns(int x) {
+ return x + 7;
+}
+
+namespace embed_ns {
+int fens(int x) {
+ return x - 3;
+}
+}
+
+class embed_cls {
+public:
+ int fecl(int x) {
+ return x - 7;
+ }
+};
+}
+
+class mycls {
+public:
+ int fcl(int x) {
+ return x + 5;
+ }
+ static int fscl(int x) {
+ return x + 6;
+ }
+
+ class embed_cls2 {
+ public:
+ int fecl2(int x) {
+ return x - 11;
+ }
+ };
+};
+
+namespace chns {
+int chf2(int x);
+
+class chcls {
+public:
+ int chf4(int x);
+};
+
+int chf3(int x) {
+ return chcls().chf4(x);
+}
+
+int chf1(int x) {
+ return chf2(x);
+}
+}
+
+typedef struct { int n; } Anonymous;
+int fun_using_anon_struct(int n) { Anonymous anon; anon.n = n; return anon.n; }
+
+int other_macro_diag(int x) {
+ MACRODIAG();
+ return x;
+}