summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/strp2.c
blob: d1fcd91824dcd49e3427be2f79ab9a161c4de37e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* { dg-do run } */

/* Test for odd corner cases in stringizing/pasting.
   Taken more or less verbatim from C99 section 6.10.3.3.  */

#include <stdlib.h>
#include <string.h>

#define hash_hash # ## #
#define mkstr(a) # a
#define in_between(a) mkstr(a)
#define join(c, d) in_between(c hash_hash d)

const char p[] = join(x, y);
const char q[] = "x ## y";

int
main (void)
{
  if (strcmp (p, q))
    abort ();
  return 0;
}