]>
Commit | Line | Data |
---|---|---|
3319c1b8 JM |
1 | /* Test for hex floating point constants: in C99 only. Preprocessor test. */ |
2 | /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ | |
3 | /* { dg-do run } */ | |
4 | /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ | |
5 | ||
6 | #define f ( | |
7 | #define l ) | |
8 | #define str(x) #x | |
9 | #define xstr(x) str(x) | |
10 | ||
11 | /* C90: "0x1p+( 0x1p+)"; C99: "0x1p+f 0x1p+l" */ | |
12 | const char *s = xstr(0x1p+f 0x1p+l); | |
13 | ||
14 | extern void abort (void); | |
15 | extern int strcmp (const char *, const char *); | |
16 | ||
17 | int | |
18 | main (void) | |
19 | { | |
20 | if (strcmp (s, "0x1p+( 0x1p+)")) | |
21 | abort (); | |
22 | else | |
002b4ef1 | 23 | return 0; /* Correct C90 behavior. */ |
3319c1b8 | 24 | } |