Rui Ueyama
|
007e526ec5
|
[GNU] Support GCC-style variadic macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
083c27559e
|
[GNU] Handle ,##__VA_ARG__
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
338144869f
|
Add __VA_OPT__
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
3a10c8aa44
|
[GNU] Add __BASE_FILE__ macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
922604ae1e
|
[GNU] Add __TIMESTAMP__ macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
0e77f3dff8
|
[GNU] Add __COUNTER__ macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
e27417fcde
|
Add __DATE__ and __TIME__ macros
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
3f2c2d5bca
|
Tokenize numeric tokens as pp-numbers
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
dc01f94900
|
Add __VA_ARGS__
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
6f17071885
|
Add __FILE__ and __LINE__
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
5f5a8507ff
|
Add predefine macros such as __STDC__
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
d85fc4ffcf
|
Add #include <...>
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
8075582c21
|
Preserve newline and space during macro expansion
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
a8d76ad435
|
Replace remaining identifiers with 0 in macro constexpr
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
5cb2f89e6a
|
Add defined() macro operator
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
769b5a0941
|
Use chibicc's preprocessor for all tests
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
8f561aed9b
|
Add macro token-pasting operator (##)
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
8f6f7925a0
|
Add macro stringizing operator (#)
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
1313fc6d3a
|
Do not expand a token more than once for the same funclike macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
c7d7ce0f0c
|
Allow parenthesized expressions as macro arguments
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
dd4306cdd8
|
Allow empty macro arguments
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
b9ad3e43cf
|
Add multi-arity funclike #define
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
dec3b3fa02
|
Add zero-arity funclike #define
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
1f80f581e5
|
Add #ifdef and #ifndef
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
acce00228b
|
Do not expand a token more than once for the same objlike macro
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
2651448084
|
Expand macros in the #if and #elif argument context
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
9ad60e41d5
|
Add #undef
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
97d33ad3bd
|
Add objlike #define
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
e7a1857a31
|
Add #elif
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
c6e81d22f8
|
Add #else
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
aa570f3086
|
Skip nested #if in a skipped #if-clause
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
bf6ff928ad
|
Add #if and #endif
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
d367510fcc
|
Add #include "..."
|
2020-12-07 12:00:06 +09:00 |
Rui Ueyama
|
146c7b3dd4
|
Add the null directive
|
2020-12-07 12:00:06 +09:00 |