/* { dg-do run } */ | |
/* Regression test for stringizing and token pasting. | |
We got internal escape markers in the strings. */ | |
#include <string.h> | |
#include <stdlib.h> | |
#define S(x) _S(x) | |
#define _S(x) #x | |
#define I 1 | |
static const char s1[] = S(I.1); | |
static const char t1[] = "1.1"; | |
#define f h | |
#define h(a) a+f | |
static const char s2[] = S( f(1)(2) ); | |
static const char t2[] = "1+h(2)"; | |
#undef I | |
#undef f | |
#undef h | |
int | |
main(void) | |
{ | |
if (strcmp (s1, t1)) | |
abort (); | |
if (strcmp (s2, t2)) | |
abort (); | |
return 0; | |
} |