Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5564 serge 1
#define e THIS_SHOULD_NOT_BE_EXPANDED
2
#define E NOR_THIS
3
#define p NOT_THIS_EITHER
4
#define P AND_SURELY_NOT_THIS
5
#define OK CRAZY_BUT_TRUE_THIS_NEITHER
6
 
7
/* This one is actually meant to be expanded */
8
#define MUST_EXPAND GO
9
 
10
/* The following are "preprocessing numbers" and should not trigger macro
11
 * expansion. */
12
1e
13
1OK
14
 
15
/* These are also "preprocessing numbers", so no expansion */
16
123e+OK
17
.23E+OK
18
1.3e-OK
19
12.E-OK
20
123p+OK
21
.23P+OK
22
1.3p-OK
23
12.P-OK
24
123..OK
25
.23.OK.OK
26
 
27
/* Importantly, just before the MUST_EXPAND in each of these, the preceding
28
 * "preprocessing number" ends and we have an actual expression. So the
29
 * MUST_EXPAND macro must be expanded (who would have though?) in each case. */
30
123ef+MUST_EXPAND
31
.23E3-MUST_EXPAND
32
1.3e--MUST_EXPAND
33
12.E-&MUST_EXPAND
34
123p+OK+MUST_EXPAND
35
.23P+OK;MUST_EXPAND
36
1.3p-OK-MUST_EXPAND
37
12.P-OK&MUST_EXPAND