1 /* { dg-do run } */
2 
3 /* Test for odd corner cases in stringizing/pasting.
4    Taken more or less verbatim from C99 section 6.10.3.3.  */
5 
6 #include <stdlib.h>
7 #include <string.h>
8 
9 #define hash_hash # ## #
10 #define mkstr(a) # a
11 #define in_between(a) mkstr(a)
12 #define join(c, d) in_between(c hash_hash d)
13 
14 const char p[] = join(x, y);
15 const char q[] = "x ## y";
16 
17 int
main(void)18 main (void)
19 {
20   if (strcmp (p, q))
21     abort ();
22   return 0;
23 }
24