The following program returns 1 while it should return 0.
----------from here----------
#define SQUISH(n) (!!((n) & 0xF))
#define HEX2BIN(n) (SQUISH(n))
#define FLAGS(f) HEX2BIN(0x##f##U)
int
main ()
{
return FLAGS(0);
}
----------to here----------
It properly returns 0 if FLAGS is changed to HEX2BIN or SQUISH, or if
I preprocess the code with GNU cpp. I can't figure out how to stop
the compilation after the preprocessing phase in tcc. I have other
things I want to do, so I'm not digging further into this.
This behavior is consistently repeatable with tcc version 0.9.23 on
Debian GNU/Linux sid (unstable) running on a Pentium M. I tried both
Debian's binary package and the tarball put up at tinycc.org.
_______________________________________________
Tinycc-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tinycc-devel