Preprocessor directives can now appear in the argument list of function-like macro calls.
#pragma PP-tokens can now be macro replaced. #include header names directly enclosed in <> are free of macro replacement. Preprocess-only mode (-E) now outputs with #line as source info. Moved testcases for #760 and #1357. Added testcase for #1643.
This commit is contained in:
30
test/val/bug1357.c
Normal file
30
test/val/bug1357.c
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
/* issue #1357 - X Macros don't work with C preprocessor */
|
||||
|
||||
#define OPCODES(X) \
|
||||
X(PUSHNIL) \
|
||||
X(PUSHTRUE) \
|
||||
X(PUSHFALSE)
|
||||
|
||||
enum {
|
||||
#define X(op) op,
|
||||
OPCODES(X)
|
||||
#undef X
|
||||
N_OPS
|
||||
};
|
||||
|
||||
/* cc65 -E bug1357.c -o bug1357.c.pre
|
||||
should produce something like this:
|
||||
|
||||
enum {
|
||||
PUSHNIL,
|
||||
PUSHTRUE,
|
||||
PUSHFALSE,
|
||||
N_OPS
|
||||
};
|
||||
*/
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user