mirror of
https://github.com/mirror/tinycc.git
synced 2025-04-01 12:30:08 +08:00
a test for the #pragma push/pop_macro
This commit is contained in:
parent
72e8ff11e9
commit
9cbab3630e
30
tests/tests2/77_push_pop_macro.c
Normal file
30
tests/tests2/77_push_pop_macro.c
Normal file
@ -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);
|
||||||
|
}
|
5
tests/tests2/77_push_pop_macro.expect
Normal file
5
tests/tests2/77_push_pop_macro.expect
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
abort = 111
|
||||||
|
abort = 222
|
||||||
|
abort = 333
|
||||||
|
abort = 222
|
||||||
|
abort = 111
|
@ -95,7 +95,8 @@ TESTS = \
|
|||||||
73_arm64.test \
|
73_arm64.test \
|
||||||
74_nocode_wanted.test \
|
74_nocode_wanted.test \
|
||||||
75_array_in_struct_init.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
|
# 34_array_assignment.test -- array assignment is not in C standard
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user