111
|
1 /* { dg-do run { target c++11 } } */
|
|
2 /* { dg-options "-pedantic-errors" } */
|
|
3
|
|
4 #define f (
|
|
5 #define l )
|
|
6 #define str(x) #x
|
|
7 #define xstr(x) str(x)
|
|
8
|
|
9 /* C90 and C++98: "0x1p+( 0x1p+)" */
|
|
10 /* C99 and C++11: "0x1p+f 0x1p+l" */
|
|
11 const char *s = xstr(0x1p+f 0x1p+l);
|
|
12
|
|
13 void abort (void);
|
|
14 int strcmp (const char *, const char *);
|
|
15
|
|
16 int
|
|
17 main()
|
|
18 {
|
|
19 if (strcmp (s, "0x1p+( 0x1p+)"))
|
|
20 return 0; /* Correct C99 and C++11 behavior. */
|
|
21 else
|
|
22 abort (); /* Correct C90 and C++ behavior. */
|
|
23 }
|