1.3.6. Preprocessor Options¶
With the -E option, you can instruct the c29clang compiler to stop after the preprocessor phase of compilation:
- -E, --preprocess¶
Halt compilation after running the C preprocessor.
1.3.6.1. Preprocessor Options¶
c29clang options that control the behavior of the C preprocessor:
- -C, --comments¶
Include comments in preprocessed output.
- -CC, --comments-in-macros¶
Include comments from within macros in preprocessed output.
- -D<macro>=<value>¶
Define <macro> symbol to <value> (or 1 if <value> omitted).
- -H, --trace-includes¶
Show header includes and nesting depth.
- -P, --no-line-commands¶
Disable linemarker output in -E mode.
- -U<macro>¶
Undefine <macro> symbol.
- -Wp,<arg1>,<arg2>...¶
Pass the comma separated arguments in <argN> to the preprocessor.
- -Xpreprocessor <option>¶
Pass <option> to the preprocessor.
1.3.6.2. Dependency File Generation¶
c29clang options that control generation of a dependency file for make-like build systems.
- -M, --dependencies¶
Like -MD, but also implies -E and writes to stdout by default.
- -MD, --write-dependencies¶
Write a dependency file containing user and system headers.
- -MF<file>¶
Write dependency file output from -MMD, -MD, -MM, or -M to specified <file>.
- -MG, --print-missing-file-dependencies¶
Add missing headers to dependency file.
- -MJ<arg>¶
Write a compilation database entry per input.
- -MM, --user-dependencies¶
Like -MMD, but also implies -E and writes to stdout by default.
- -MMD, --write-user-dependencies¶
Write a dependency file containing user headers.
- -MP¶
Create phony target for each dependency (other than main file).
- -MQ<arg>¶
Specify name of main file output to quote in dependency file.
- -MT<arg>¶
Specify name of main file output in dependency file
1.3.6.3. Dumping Preprocessor State¶
c29clang options that allow the state of the preprocessor to be dumped in various ways.
- -dD¶
Print macro definitions in -E mode in addition to normal output.
- -dI¶
Print include directives in -E mode in addition to normal output.
- -dM¶
Print macro definitions in -E mode instead of normal output.