1 /* Test for recognition of digraphs: should be recognized in C94 and C99
2    mode, but not in C90 mode.  Also check correct stringizing.
3 */
4 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
5 /* { dg-do run } */
6 /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
7 
8 #define str(x) xstr(x)
9 #define xstr(x) #x
10 #define foo(p, q) str(p %:%: q)
11 
12 extern void abort (void);
13 extern int strcmp (const char *, const char *);
14 
15 int
main(void)16 main (void)
17 {
18   const char *t = foo (1, 2);
19   const char *u = str (<:);
20   if (strcmp (t, "1 %:%: 2") || strcmp (u, "<:"))
21     abort ();
22   else
23     return 0;
24 }
25