aboutsummaryrefslogtreecommitdiff
path: root/tests/tests2/77_push_pop_macro.c
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-04-25 15:03:50 +0300
committerseyko <seyko2@gmail.com>2015-04-25 15:03:50 +0300
commit9cbab3630ec4541dd38635774abcfcb88b7a0051 (patch)
treed726585f15ac1cbf889030fabfcdcb2fc7b70192 /tests/tests2/77_push_pop_macro.c
parent72e8ff11e9802e219e4880fe6ad0796beaf7fce2 (diff)
downloadtinycc-9cbab3630ec4541dd38635774abcfcb88b7a0051.tar.gz
tinycc-9cbab3630ec4541dd38635774abcfcb88b7a0051.tar.bz2
a test for the #pragma push/pop_macro
Diffstat (limited to 'tests/tests2/77_push_pop_macro.c')
-rw-r--r--tests/tests2/77_push_pop_macro.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/tests2/77_push_pop_macro.c b/tests/tests2/77_push_pop_macro.c
new file mode 100644
index 0000000..d38e0bf
--- /dev/null
+++ b/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);
+}