summary refs log tree commit diff stats
path: root/tinyc/tests/tests2/77_push_pop_macro.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyc/tests/tests2/77_push_pop_macro.c')
-rw-r--r--tinyc/tests/tests2/77_push_pop_macro.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tinyc/tests/tests2/77_push_pop_macro.c b/tinyc/tests/tests2/77_push_pop_macro.c
new file mode 100644
index 000000000..d38e0bfe3
--- /dev/null
+++ b/tinyc/tests/tests2/77_push_pop_macro.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+int main()
+{
+    /* must not affect how #pragma ppop_macro works */
+    #define pop_macro foobar1
+
+    /* must not affect how #pragma push_macro works */
+    #define push_macro foobar2
+
+    #undef abort
+    #define abort "111"
+    printf("abort = %s\n", abort);
+
+    #pragma push_macro("abort")
+    #undef abort
+    #define abort "222"
+    printf("abort = %s\n", abort);
+
+    #pragma push_macro("abort")
+    #undef abort
+    #define abort "333"
+    printf("abort = %s\n", abort);
+
+    #pragma pop_macro("abort")
+    printf("abort = %s\n", abort);
+
+    #pragma pop_macro("abort")
+    printf("abort = %s\n", abort);
+}