From e9edf69f9423655f5131e9dc72b08ce3234be353 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Sun, 4 Jul 1999 16:28:56 +0000 Subject: [PATCH] New test; for odd case of token pasting From-SVN: r27937 --- gcc/testsuite/gcc.dg/990703-1.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/990703-1.c diff --git a/gcc/testsuite/gcc.dg/990703-1.c b/gcc/testsuite/gcc.dg/990703-1.c new file mode 100644 index 00000000000..b953a5b6fd8 --- /dev/null +++ b/gcc/testsuite/gcc.dg/990703-1.c @@ -0,0 +1,24 @@ +/* { dg-do run } */ + +/* Test of obscure case in token pasting in the preprocessor. + I can't think of any way to make this problem provoke a syntax error. + Based on a bug report by Manfred Hollstein. */ + +#include + +#define SP1(x, y) SP2(x, y) +#define SP2(x, y) SP3(x##y) +#define SP3(x) #x +#define MZ -0 + +int +main(void) +{ + char *x = SP1(0,MZ); + char *y = "0-0" /* should be the expansion of SP1(0,MZ) */ + + if(strcmp(x, y)) + return 1; + else + return 0; +} -- 2.30.2