aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/macro4.c
blob: c0dfe414b8fa661d83d7984322bb8b6a21014411 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Copyright (C) 2000 Free Software Foundation, Inc.  */

/* { dg-do run } */

/* Test source Neil Booth.  GCC <= 2.96 don't get this right.  */

extern void abort (void);

int glue (int x, int y)
{
  return x + y;
}

#define glue(x, y) x ## y
#define xglue(x, y) glue (x, y)

int main ()
{
  /* Should expand to glue (1, 2) as the second "glue" is nested.  */
  if (glue (xgl, ue) (1, 2) != 3)
    abort ();

  return 0;
}