Thank you! On 5/4/21, Herman ten Brugge via Tinycc-devel <tinycc-devel@nongnu.org> wrote: > I just pushed a fix for this. > > Herman > > On 5/3/21 10:04 AM, Christian Jullien wrote: >> Indeed, I can reproduce with mob with this snippet: >> >> #include <stdio.h> >> >> #define CALL(f, ...) f(__VA_ARGS__) >> #define CONST() 123 >> >> int >> main() { >> printf("%d\n", CALL(CONST, )); >> >> } >> >> It works with clang and gcc but fails with tcc >> [jullien@fedora64 ~]$ clang foo.c && ./a.out >> 123 >> [jullien@fedora64 ~]$ gcc foo.c && ./a.out >> 123 >> [jullien@fedora64 ~]$ tcc -v >> tcc version 0.9.27 - 3564c47 (x86_64 Linux) >> [jullien@fedora64 ~]$ tcc foo.c && ./a.out >> foo.c:11: error: macro 'CONST' used with too many args >> >> C. >> >> >> -----Original Message----- >> From: Tinycc-devel >> [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of >> Christian Jullien >> Sent: Sunday, May 02, 2021 18:44 >> To: tinycc-devel@nongnu.org >> Subject: Re: [Tinycc-devel] Empy preprocessor lexeme bug >> >> Hi it looks you're not using mod and 0.9.27 is quite old. >> Now mob gives you short git hash code like: >> $ tcc -v >> tcc version 0.9.27 - 9b76a64 (ARM eabihf Linux) >> >> Can you reproduce this with mod? >> If you do, can you send us a minimal test case that exhibits the bug? >> Does is also fails if you rename CONST => MYCONST as CONST is sometimes >> also defined by some includes/modules. >> >> C. >> >> >> -----Original Message----- >> From: Tinycc-devel >> [mailto:tinycc-devel-bounces+eligis=orange...@nongnu.org] On Behalf Of >> Temirkhan Myrzamadi >> Sent: Sunday, May 02, 2021 15:49 >> To: tinycc-devel@nongnu.org >> Subject: [Tinycc-devel] Empy preprocessor lexeme bug >> >> Take a look at the following code: >> >> ``` >> #define CALL(f, ...) f(__VA_ARGS__) >> #define CONST() 123 >> >> // error: macro 'CONST' used with too many args >> CALL(CONST, ) >> ``` >> >> But `CONST()` work as expected. I think it's a bug because both >> `CONST()` and `f(__VA_ARGS__)` are identical calls, where >> `__VA_ARGS__` stands for the empty preprocessor lexeme, as in >> `CONST()`. >> >> ``` >> $ tcc -v >> tcc version 0.9.27 (x86_64 Linux) >> ``` >> >> (I am not sure where to post bugs, please let me know if this isn't the >> place.) >> >> _______________________________________________ >> Tinycc-devel mailing list >> Tinycc-devel@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/tinycc-devel >> >> >> _______________________________________________ >> Tinycc-devel mailing list >> Tinycc-devel@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/tinycc-devel >> >> > > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel >
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel