|
572 | 572 | #if VERSION == 1
|
573 | 573 | #define INCFILE "vers1.h"
|
574 | 574 | #elif VERSION == 2
|
575 |
| - #define INCFILE "vers2.h" // and so on |
| 575 | + #define INCFILE "vers2.h" // and so on |
576 | 576 | #else
|
577 | 577 | #define INCFILE "versN.h"
|
578 | 578 | #endif
|
|
1022 | 1022 | #define LOW LOW ", world"
|
1023 | 1023 |
|
1024 | 1024 | debug(1, 2);
|
1025 |
| -fputs(str(strncmp("abc@\textbackslash@0d", "abc", '@\textbackslash@4') // this goes away |
| 1025 | +fputs(str(strncmp("abc@\textbackslash@0d", "abc", '@\textbackslash@4') // this goes away |
1026 | 1026 | == 0) str(: @\atsign\textbackslash@n), s);
|
1027 | 1027 | #include xstr(INCFILE(2).h)
|
1028 | 1028 | glue(HIGH, LOW);
|
|
1034 | 1034 | \begin{codeblock}
|
1035 | 1035 | printf("x" "1" "= %d, x" "2" "= %s", x1, x2);
|
1036 | 1036 | fputs("strncmp(@\textbackslash@"abc@\textbackslash\textbackslash@0d@\textbackslash@", @\textbackslash@"abc@\textbackslash@", '@\textbackslash\textbackslash@4') == 0" ": @\atsign\textbackslash@n", s);
|
1037 |
| -#include "vers2.h" @\textit{(after macro replacement, before file access)}@ |
| 1037 | +#include "vers2.h" @\textrm{(\textit{after macro replacement, before file access})}@ |
1038 | 1038 | "hello";
|
1039 | 1039 | "hello" ", world"
|
1040 | 1040 | \end{codeblock}
|
|
1044 | 1044 | \begin{codeblock}
|
1045 | 1045 | printf("x1= %d, x2= %s", x1, x2);
|
1046 | 1046 | fputs("strncmp(@\textbackslash@"abc@\textbackslash\textbackslash@0d@\textbackslash@", @\textbackslash@"abc@\textbackslash@", '@\textbackslash\textbackslash@4') == 0: @\atsign\textbackslash@n", s);
|
1047 |
| -#include "vers2.h" @\textit{(after macro replacement, before file access)}@ |
| 1047 | +#include "vers2.h" @\textrm{(\textit{after macro replacement, before file access})}@ |
1048 | 1048 | "hello";
|
1049 | 1049 | "hello, world"
|
1050 | 1050 | \end{codeblock}
|
|
1091 | 1091 | But the following redefinitions are invalid:
|
1092 | 1092 |
|
1093 | 1093 | \begin{codeblock}
|
1094 |
| -#define OBJ_LIKE (0) // different token sequence |
1095 |
| -#define OBJ_LIKE (1 - 1) // different white space |
1096 |
| -#define FUNC_LIKE(b) ( a ) // different parameter usage |
1097 |
| -#define FUNC_LIKE(b) ( b ) // different parameter spelling |
| 1094 | +#define OBJ_LIKE (0) // different token sequence |
| 1095 | +#define OBJ_LIKE (1 - 1) // different white space |
| 1096 | +#define FUNC_LIKE(b) ( a ) // different parameter usage |
| 1097 | +#define FUNC_LIKE(b) ( b ) // different parameter spelling |
1098 | 1098 | \end{codeblock}
|
1099 | 1099 | \end{example}
|
1100 | 1100 |
|
|
0 commit comments