/* Regression test for paste appearing at the beginning of a set of
   actual arguments.  Original bug exposed by Linux kernel.  Problem
   reported by Jakub Jelinek <jakub@redhat.com>.  */

/* { dg-do compile } */

extern int foo(int x);

#define bar(x) foo(x)
#define baz(x) bar(##x)
/* { dg-warning "expanded from" "" { target *-*-* } 10 } */

int quux(int y) { return baz(y); }  /* { dg-warning "valid preprocessing" } */
