diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 1999-07-04 16:28:56 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 1999-07-04 16:28:56 +0000 |
commit | e9edf69f9423655f5131e9dc72b08ce3234be353 (patch) | |
tree | 4178b00ea7bdb6f3ea75b33373faf4dc69d0f996 /gcc | |
parent | 95bfd4834e6433de3475df14403c6937b65a8f79 (diff) | |
download | gcc-e9edf69f9423655f5131e9dc72b08ce3234be353.zip gcc-e9edf69f9423655f5131e9dc72b08ce3234be353.tar.gz gcc-e9edf69f9423655f5131e9dc72b08ce3234be353.tar.bz2 |
New test; for odd case of token pasting
From-SVN: r27937
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.dg/990703-1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/990703-1.c b/gcc/testsuite/gcc.dg/990703-1.c new file mode 100644 index 0000000..b953a5b --- /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 <string.h> + +#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; +} |