summaryrefslogtreecommitdiff
path: root/util/romcc/tests/linux_test12.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/romcc/tests/linux_test12.c')
-rw-r--r--util/romcc/tests/linux_test12.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/util/romcc/tests/linux_test12.c b/util/romcc/tests/linux_test12.c
new file mode 100644
index 0000000000..5503aa05f0
--- /dev/null
+++ b/util/romcc/tests/linux_test12.c
@@ -0,0 +1,70 @@
+#include "linux_syscall.h"
+#include "linux_console.h"
+
+#define MACRO(hello, hello2) 1
+
+#ifndef A
+#define A 135
+#endif
+#define B A
+#define C B
+#define D C
+#define E D
+#define F E
+#define G F
+#define H G
+#define I H
+
+#define FOO() "hah?\n"
+#define BAR(X) ( X " There\n" )
+#define BAZ(X) #X
+#define SUM(X, Y) ((X) + (Y))
+#define REALLY_SUM(...) SUM(__VA_ARGS__)
+
+
+#define hash_hash # /* comment */ ## #
+#define mkstr(a) # a
+#define in_between(a) mkstr(a)
+#define join(c, d) in_between(c hash_hash d)
+
+#define ECHO(X) X
+#define print_debug(X) ECHO(print_debug(X))
+
+static void test(void)
+{
+ print_debug(FOO());
+ print_debug(BAR("Hi!!"));
+ print_debug(BAZ(This should be shown as a string... "enclosed in quotes") "\n");
+ print_debug("This is a quote\" see\n");
+ print_debug(BAR(BAZ(I)));
+
+ print_debug_hex32(REALLY_SUM(1,2));
+ print_debug("\n");
+
+ print_debug(join(x, y) "\n");
+
+ print_debug("romcc: ");
+ print_debug_hex8(__ROMCC__);
+ print_debug(".");
+ print_debug_hex8(__ROMCC_MINOR__);
+ print_debug("\n");
+
+ print_debug(__FILE__);
+ print_debug(":");
+ print_debug(__func__);
+ print_debug(":");
+ print_debug_hex32(__LINE__);
+ print_debug("\n");
+
+ print_debug("Compiled at: ");
+ print_debug(__DATE__);
+ print_debug(" ");
+ print_debug(__TIME__);
+ print_debug("\n");
+
+ print_debug("Compile time: ");
+ print_debug(__TIME__);
+ print_debug("\n");
+
+ _exit(0);
+}