diff options
| author | jiang <30155751@qq.com> | 2014-05-16 15:44:51 +0800 |
|---|---|---|
| committer | jiang <30155751@qq.com> | 2014-05-16 15:44:51 +0800 |
| commit | 276553c6b2b4df0ac9593d15b8889d470edb27de (patch) | |
| tree | 9bbb91babaf6e5281aaaea4c2ab3ae5b50223cd6 | |
| parent | 52891b6ff680a03c966776b530cf94de9f831b07 (diff) | |
| download | tinycc-276553c6b2b4df0ac9593d15b8889d470edb27de.tar.gz tinycc-276553c6b2b4df0ac9593d15b8889d470edb27de.tar.bz2 | |
add push_macro test again
| -rw-r--r-- | tccpp.c | 2 | ||||
| -rw-r--r-- | tests/tcctest.c | 13 |
2 files changed, 14 insertions, 1 deletions
@@ -1741,7 +1741,7 @@ pack_error: if(def->off >= def->size){ int size = def->size; size *= 2; - if (size >= MACRO_STACK_SIZE) + if (size > MACRO_STACK_SIZE) tcc_error("stack full"); def->data = tcc_realloc(def->data, size*sizeof(Sym*)); def->size = size; diff --git a/tests/tcctest.c b/tests/tcctest.c index 3fc7b82..e0b307b 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -382,16 +382,29 @@ comment /* macro_push and macro_pop test */ #define MACRO_TEST "macro_test1\n" #pragma push_macro("MACRO_TEST") + printf(MACRO_TEST); #undef MACRO_TEST #define MACRO_TEST "macro_test2\n" #pragma push_macro("MACRO_TEST") + printf(MACRO_TEST); #undef MACRO_TEST #define MACRO_TEST "macro_test3\n" + #pragma push_macro("MACRO_TEST") + printf(MACRO_TEST); + #undef MACRO_TEST + + #define MACRO_TEST "macro_test4\n" printf(MACRO_TEST); + #undef MACRO_TEST + + #pragma pop_macro("MACRO_TEST") + printf(MACRO_TEST); + #pragma pop_macro("MACRO_TEST") printf(MACRO_TEST); + #pragma pop_macro("MACRO_TEST") printf(MACRO_TEST); /* gcc does not support |
