The output with cpp 4.0.3:

int test(struct alt_x *p) {
   return alt_x(p->val+1);
}

It seems that:
1) "x" expands to alt_x
2) "alt_x(p->val)" expands to "x(p->val+1)"
3) "x" expands (again!) to alt_x

or maybe something else?

Reply via email to