equal
deleted
inserted
replaced
31 // Makes a string of the argument (which is not macro-expanded) |
31 // Makes a string of the argument (which is not macro-expanded) |
32 #define STR(a) #a |
32 #define STR(a) #a |
33 |
33 |
34 // Makes a string of the macro expansion of a |
34 // Makes a string of the macro expansion of a |
35 #define XSTR(a) STR(a) |
35 #define XSTR(a) STR(a) |
|
36 |
|
37 // Allow commas in macro arguments. |
|
38 #define COMMA , |
36 |
39 |
37 // Apply pre-processor token pasting to the expansions of x and y. |
40 // Apply pre-processor token pasting to the expansions of x and y. |
38 // The token pasting operator (##) prevents its arguments from being |
41 // The token pasting operator (##) prevents its arguments from being |
39 // expanded. This macro allows expansion of its arguments before the |
42 // expanded. This macro allows expansion of its arguments before the |
40 // concatenation is performed. Note: One auxilliary level ought to be |
43 // concatenation is performed. Note: One auxilliary level ought to be |