#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+CgojZGVmaW5lIERFQlVHIDEKLy8jZGVmaW5lIE1ZREVGIDEKLy8jZGVmaW5lIFlPVVJERUYgMQoKI2RlZmluZSBUUkFDRSh4KSBkbyB7IGlmIChERUJVRykgcHJpbnRmIHg7IH0gd2hpbGUgKDApCgojaWZkZWYgTVlERUYKCiNkZWZpbmUgSUZfTVkoeCx5KSB4IHkKCiNlbHNlCgojZGVmaW5lIElGX01ZKHgseSkgeAoKI2VuZGlmCgojaWZkZWYgWU9VUkRFRgoKI2RlZmluZSBJRl9NWV9ZT1VSKHgseSx6KSBJRl9NWSh4LHkpIHoKCiNlbHNlCgojZGVmaW5lIElGX01ZX1lPVVIoeCx5LHopIElGX01ZKHgseSkKCiNlbmRpZgoKaW50IG1haW4odm9pZCkgewogICAgY2hhciAqbXNnPSJhYWEiOwogICAgVFJBQ0UoKElGX01ZX1lPVVIoIk1lc3NhZ2U6ICVzIiwgIiBBZGRpdGlvbmFsIHN0dWZmICIsICIgTW9yZSBzdHVmZiAiKSJcbiIsIG1zZykpOwoJcmV0dXJuIDA7Cn0K