#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+CgojZGVmaW5lIERFQlVHIDEKLy8jZGVmaW5lIE1ZREVGIDEKI2RlZmluZSBZT1VSREVGIDEKCiNkZWZpbmUgVFJBQ0UoeCkgZG8geyBpZiAoREVCVUcpIHByaW50ZiB4OyB9IHdoaWxlICgwKQoKI2lmZGVmIE1ZREVGCgojZGVmaW5lIElGX01ZKHgseSkgeCB5CgojZWxzZQoKI2RlZmluZSBJRl9NWSh4LHkpIHgKCiNlbmRpZgoKI2lmZGVmIFlPVVJERUYKCiNkZWZpbmUgSUZfTVlfWU9VUih4LHkseikgSUZfTVkoeCx5KSB6CgojZWxzZQoKI2RlZmluZSBJRl9NWV9ZT1VSKHgseSx6KSBJRl9NWSh4LHkpCgojZW5kaWYKCmludCBtYWluKHZvaWQpIHsKICAgIGNoYXIgKm1zZz0iYWFhIjsKICAgIFRSQUNFKChJRl9NWV9ZT1VSKCJNZXNzYWdlOiAlcyIsICIgQWRkaXRpb25hbCBzdHVmZiAiLCAiIE1vcmUgc3R1ZmYgIikiXG4iLCBtc2cpKTsKCXJldHVybiAwOwp9Cg==