Blame test-c/e_25_6.c

Packit Service 8bf002
/* e_25_6.c:    Macro arguments are pre-expanded separately.    */
Packit Service 8bf002
Packit Service 8bf002
/* 25.6:    */
Packit Service 8bf002
#define sub( x, y)      (x - y)
Packit Service 8bf002
#define head            sub(
Packit Service 8bf002
#define body(x,y)       x,y
Packit Service 8bf002
#define tail            )
Packit Service 8bf002
#define head_body_tail( a, b, c)    a b c
Packit Service 8bf002
/* "head" is once expanded to "sub(", then rescanning of "sub(" causes an
Packit Service 8bf002
        uncompleted macro call.  Expansion of an argument should complete
Packit Service 8bf002
        within the argument.    */
Packit Service 8bf002
    head_body_tail( head, body(a,b), tail);
Packit Service 8bf002
Packit Service 8bf002
main( void)
Packit Service 8bf002
{
Packit Service 8bf002
    return  0;
Packit Service 8bf002
}
Packit Service 8bf002