From 6c8207633fd42e420e32bdf4912be9fbf307f5ad Mon Sep 17 00:00:00 2001 From: jiang <30155751@qq.com> Date: Fri, 2 May 2014 11:23:54 +0800 Subject: Fixes include the double quotes bug Added push_macro, pop_macro support Fix pack bug, when output with-E will pack the bug --- tests/tcctest.c | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/tcctest.c b/tests/tcctest.c index ca2ad0b..5fac82e 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -235,7 +235,7 @@ void intdiv_test(void) void macro_test(void) { - printf("macro:\n"); + printf("macro:\n"); pf("N=%d\n", N); printf("aaa=%d\n", AAA); @@ -379,6 +379,23 @@ comment /* And again when the name and parenthes are separated by a comment. */ TEST2 /* the comment */ (); + /* macro_push and macro_pop test */ + #define MACRO_TEST "macro_test1\n" + #pragma push_macro("MACRO_TEST") + #undef MACRO_TEST + #define MACRO_TEST "macro_test2\n" + printf(MACRO_TEST); + #pragma pop_macro("MACRO_TEST") + printf(MACRO_TEST); +/* gcc does not support + #define MACRO_TEST_MACRO "MACRO_TEST" + #pragma push_macro(MACRO_TEST_MACRO) + #undef MACRO_TEST + #define MACRO_TEST "macro_test3\n" + printf(MACRO_TEST); + #pragma pop_macro(MACRO_TEST_MACRO) + printf(MACRO_TEST); +*/ } @@ -2167,14 +2184,15 @@ void whitespace_test(void) { char *str; - #if 1 + +#if 1 pri\ -ntf("whitspace:\n"); +ntf("whitspace:\n"); #endif pf("N=%d\n", 2); #ifdef CORRECT_CR_HANDLING - pri\ + pri\ ntf("aaa=%d\n", 3); #endif @@ -2186,11 +2204,12 @@ ntf("min=%d\n", 4); printf("len1=%d\n", strlen(" ")); #ifdef CORRECT_CR_HANDLING - str = " + str = " "; printf("len1=%d str[0]=%d\n", strlen(str), str[0]); #endif - printf("len1=%d\n", strlen(" a + printf("len1=%d\n", strlen(" +a ")); #endif /* ACCEPT_CR_IN_STRINGS */ } -- cgit v1.3.1