From 5908725ad580ab18ed4d2b35584d0dc792a125ff Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 18 May 2003 17:08:55 +0000 Subject: [PATCH] test macro substitution inside macro args --- tcctest.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tcctest.c b/tcctest.c index 885b104..695ddfa 100644 --- a/tcctest.c +++ b/tcctest.c @@ -123,6 +123,12 @@ int isid(int c); #define __INT64_C(c) c ## LL #define INT64_MIN (-__INT64_C(9223372036854775807)-1) +int qq(int x) +{ + return x + 40; +} +#define qq(x) x + void macro_test(void) { printf("macro:\n"); @@ -210,7 +216,7 @@ void macro_test(void) #line 203 "test" printf("__LINE__=%d __FILE__=%s\n", __LINE__, __FILE__); -#line 213 "tcctest.c" +#line 220 "tcctest.c" /* not strictly preprocessor, but we test it there */ #ifdef C99_MACROS @@ -244,6 +250,9 @@ void macro_test(void) MF_s("hi"); MF_t("hi"); + /* test macro substituion inside args (should not eat stream) */ + printf("qq=%d\n", qq(qq)(2)); + /* comment with stray handling *\ / /* this is a valid *\/ comment */