diff options
| author | seyko <seyko2@gmail.com> | 2015-04-25 15:03:50 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2015-04-25 15:03:50 +0300 |
| commit | 9cbab3630ec4541dd38635774abcfcb88b7a0051 (patch) | |
| tree | d726585f15ac1cbf889030fabfcdcb2fc7b70192 /tests | |
| parent | 72e8ff11e9802e219e4880fe6ad0796beaf7fce2 (diff) | |
| download | tinycc-9cbab3630ec4541dd38635774abcfcb88b7a0051.tar.gz tinycc-9cbab3630ec4541dd38635774abcfcb88b7a0051.tar.bz2 | |
a test for the #pragma push/pop_macro
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests2/77_push_pop_macro.c | 30 | ||||
| -rw-r--r-- | tests/tests2/77_push_pop_macro.expect | 5 | ||||
| -rw-r--r-- | tests/tests2/Makefile | 3 |
3 files changed, 37 insertions, 1 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); +} diff --git a/tests/tests2/77_push_pop_macro.expect b/tests/tests2/77_push_pop_macro.expect new file mode 100644 index 0000000..d8a5530 --- /dev/null +++ b/tests/tests2/77_push_pop_macro.expect @@ -0,0 +1,5 @@ +abort = 111 +abort = 222 +abort = 333 +abort = 222 +abort = 111 diff --git a/tests/tests2/Makefile b/tests/tests2/Makefile index a5a18fb..87daf7b 100644 --- a/tests/tests2/Makefile +++ b/tests/tests2/Makefile @@ -95,7 +95,8 @@ TESTS = \ 73_arm64.test \ 74_nocode_wanted.test \ 75_array_in_struct_init.test \ - 76_dollars_in_identifiers.test + 76_dollars_in_identifiers.test \ + 77_push_pop_macro.test # 34_array_assignment.test -- array assignment is not in C standard |
