Rui Ueyama
|
44776befd8
|
Add include guard optimization
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
f5977e1bff
|
Cache file search results
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
f00078b8d3
|
Use hashmap for macro name lookup
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
b8a721f8fc
|
Add string hashmap
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
b5c10ba086
|
Do not define __STDC_NO_VLA__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
9d85369876
|
Add -include option
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
2a38d6471a
|
[GNU] Support GCC-style variadic macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
1ceec75f4d
|
Ignore #pragma
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
0cd7d04625
|
[GNU] Handle ,##__VA_ARG__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
837da45475
|
Add __VA_OPT__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
211967308e
|
[GNU] Add __BASE_FILE__ macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
e266943b53
|
[GNU] Add __TIMESTAMP__ macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
0a7460bdb3
|
[GNU] Add line marker directive
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
5c735aae4d
|
Add #line
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
bad903348b
|
Define __STDC_UTF_{16,32}__ macros
These predefined macros indicates that our u and U chars/strings
are UTF-16 and UTF-32-encoded, respectively.
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
a28653e931
|
[GNU] Add __COUNTER__ macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
660158100d
|
Add __DATE__ and __TIME__ macros
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
e97250471d
|
Add -U option
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
7fed29efa0
|
Add -D option
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
110f6ed95e
|
Tokenize numeric tokens as pp-numbers
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
5baa7091f2
|
Concatenate adjacent string literals
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
2b6f228b4a
|
Add __VA_ARGS__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
8857aea1fe
|
Add __FILE__ and __LINE__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
bee8142e44
|
Add predefine macros such as __STDC__
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
b34bac70f0
|
Add #error
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
faefe790c1
|
Add -I<dir> option
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
0c3b87d528
|
Add #include <...>
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
661108f9a4
|
Preserve newline and space during macro expansion
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
0e8b78b1c3
|
Replace remaining identifiers with 0 in macro constexpr
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
90d37c55df
|
Add defined() macro operator
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
cbfb62fb0e
|
Add macro token-pasting operator (##)
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
50d487f4ed
|
Add macro stringizing operator (#)
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
040c549877
|
Do not expand a token more than once for the same funclike macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
20fa4df5a3
|
Allow parenthesized expressions as macro arguments
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
f2397d0585
|
Add multi-arity funclike #define
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
4008c21dd3
|
Add zero-arity funclike #define
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
db2815b4fb
|
Add #ifdef and #ifndef
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
f86cb47357
|
Do not expand a token more than once for the same objlike macro
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
add8ae695d
|
Expand macros in the #if and #elif argument context
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
ae83f298ec
|
Add #undef
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
9c44a1c666
|
Add objlike #define
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
7a62e206e9
|
Add #elif
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
9fc67e114a
|
Add #else
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
6f47e5ab8e
|
Skip nested #if in a skipped #if-clause
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
592f89f3c2
|
Add #if and #endif
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
2019f3a79e
|
Add -E option
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
68e3958a5d
|
Skip extra tokens after `#include "..."`
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
18a2c49f03
|
Add #include "..."
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
88305ee5fc
|
Add the null directive
|
2020-09-22 18:34:00 +09:00 |
Rui Ueyama
|
2e15e2b8e5
|
Add a do-nothing preprocessor
|
2020-09-22 18:34:00 +09:00 |