1 /* { dg-do run } */ 2 3 /* Regression test for stringizing and token pasting. 4 We got internal escape markers in the strings. */ 5 6 #include <string.h> 7 #include <stdlib.h> 8 9 #define S(x) _S(x) 10 #define _S(x) #x 11 12 #define I 1 13 static const char s1[] = S(I.1); 14 static const char t1[] = "1.1"; 15 16 #define f h 17 #define h(a) a+f 18 static const char s2[] = S( f(1)(2) ); 19 static const char t2[] = "1+h(2)"; 20 21 #undef I 22 #undef f 23 #undef h 24 25 int main(void)26main(void) 27 { 28 if (strcmp (s1, t1)) 29 abort (); 30 31 if (strcmp (s2, t2)) 32 abort (); 33 34 return 0; 35 } 36