#include <stdio.h>
#define DEBUG 1
#define MYDEF 1
#define YOURDEF 1
#define TRACE(x) do { if (DEBUG) printf x; } while (0)
#ifdef MYDEF
#define IF_MY(x,y) x y
#else
#define IF_MY(x,y) x
#endif
#ifdef YOURDEF
#define IF_MY_YOUR(x,y,z) IF_MY(x,y) z
#else
#define IF_MY_YOUR(x,y,z) IF_MY(x,y)
#endif
int main(void) {
char *msg="aaa";
TRACE((IF_MY_YOUR("Message: %s", " Additional stuff ", " More stuff ")"\n", msg));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIERFQlVHIDEKI2RlZmluZSBNWURFRiAxCiNkZWZpbmUgWU9VUkRFRiAxCgojZGVmaW5lIFRSQUNFKHgpIGRvIHsgaWYgKERFQlVHKSBwcmludGYgeDsgfSB3aGlsZSAoMCkKCiNpZmRlZiBNWURFRgoKI2RlZmluZSBJRl9NWSh4LHkpIHggeQoKI2Vsc2UKCiNkZWZpbmUgSUZfTVkoeCx5KSB4CgojZW5kaWYKCiNpZmRlZiBZT1VSREVGCgojZGVmaW5lIElGX01ZX1lPVVIoeCx5LHopIElGX01ZKHgseSkgegoKI2Vsc2UKCiNkZWZpbmUgSUZfTVlfWU9VUih4LHkseikgSUZfTVkoeCx5KQoKI2VuZGlmCgppbnQgbWFpbih2b2lkKSB7CiAgICBjaGFyICptc2c9ImFhYSI7CiAgICBUUkFDRSgoSUZfTVlfWU9VUigiTWVzc2FnZTogJXMiLCAiIEFkZGl0aW9uYWwgc3R1ZmYgIiwgIiBNb3JlIHN0dWZmICIpIlxuIiwgbXNnKSk7CglyZXR1cm4gMDsKfQo=