- Fixed preprocessor numbers not being parsed correctly
- Backslash newlines in code are maintained as is now.
- Breaking:
--only-process
and--process-all
now only control macros that are in conditionals.
- Add
--only-define
flag to define a list of macros to process in define derictives. - Add
--define-all
flag to process all define directives. - Add
--only-undef
flag to define a list of macros to process in undef derictives. - Add
--undef-all
flag to process all undef directives. - Add
--only
&--all
flag as replacement to--only-process
&--process-all
respectively. - Add
--ignore-undetermined
flag as replacement to avoid processing undetermined conditionals.
- Add
-h
and--help
flag to print the program's usage.
- Add
--implicitly-undef
flag to treate undetermined macros as undefined. - Add
--line-around-include
flag to surround included code with line directives. - Add
-o
and--output
flags to rediredpcpp
's output to a file.
- Fix segfault when parsing files with more than 13 macros.
- Breaking: input file is not processed by default.
- Correctly parse multi-line comments.
- Correctly parse arguments in function-like macro definitions.
- Verify
#define
directive grammar even if it was not parsed.
- Add
--process-only
flag to define a list of macros to process. - Add
--process-all
flag to process all macros. - Add
--include-only
flag to define a list of files to be expanded and included. - Add
--include-all
flag to include all files. - Add
-D
and--define
flags to allow the user to define macros on the command line. - Add
-U
and--undef
flags to allow the user to undefine macros on the command line. - Add
--conflict
flag to allow the user to define a strategies for resolving definition conflicts.
- Fix various issues with processing conditional directives
- Fix
path_dirname
not correctly null-terminating returned string - Avoid printing a superfluous newline at the end of the generated output
- Fix
endif
derictives being displayed if the conditional was resolved.
The first release of PCPP
- Process
#define
directives. - Process
#undef
directives. - Process
#ifdef
,#elifdef
directives. - Process
#ifndef
,#elifndef
directives. - Process
#else
,#endif
directives. - Process
#include
directives. - Print the processed file to standard output.