#include <iostream>
using namespace std;
int test(int i) {return i; }
int my_func()
{
cout << "my_func\n";
return 1;
}
#define MY_MACRO && my_func()
int main(int argc, const char * argv[])
{
cout << "------------\n";
test(0) MY_MACRO;
cout << "------------\n";
test(2) MY_MACRO;
cout << "------------\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHRlc3QoaW50IGkpIHtyZXR1cm4gaTsgfQoKaW50IG15X2Z1bmMoKQp7CiAgICBjb3V0IDw8ICJteV9mdW5jXG4iOwogICAgcmV0dXJuIDE7Cn0KCiNkZWZpbmUgIE1ZX01BQ1JPICAmJiBteV9mdW5jKCkKCmludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICogYXJndltdKQp7CiAgICBjb3V0IDw8ICItLS0tLS0tLS0tLS1cbiI7CiAgICB0ZXN0KDApIE1ZX01BQ1JPOwogICAgY291dCA8PCAiLS0tLS0tLS0tLS0tXG4iOwogICAgdGVzdCgyKSBNWV9NQUNSTzsKICAgIGNvdXQgPDwgIi0tLS0tLS0tLS0tLVxuIjsKfQoKCg==