# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 97
- 98
- 99
- 100
- 101
…
- 365
- 366

Compiler Command-Line Driver
 2012-2013 Microchip Technology Inc. DS50002071C-page 99
5.7.7 Options for Controlling the Preprocessor
The following options control the compiler preprocessor.
TABLE 5-14: PREPROCESSOR OPTIONS
Option Definition
-Aquestion (answer) Assert the answer answer for question question, in case it is
tested with a preprocessing conditional such as #if
#question(answer). -A- disables the standard assertions
that normally describe the target machine.
For example, the function prototype for main might be declared
as follows:
#if #environ(freestanding)
int main(void);
#else
int main(int argc, char *argv[]);
#endif
A -A command-line option could then be used to select
between the two prototypes. For example, to select the first of
the two, the following command-line option could be used:
-Aenviron(freestanding)
-A -predicate =answer Cancel an assertion with the predicate predicate and answer
answer.
-A predicate =answer Make an assertion with the predicate predicate and answer
answer. This form is preferred to the older form
-A predicate(answer), which is still supported, because it
does not use shell special characters.
-C Tell the preprocessor not to discard comments. Used with the
-E option.
-dD Tell the preprocessor to not remove macro definitions into the
output, in their proper sequence.
-Dmacro Define macro macro with the string 1 as its definition.
-Dmacro=defn Define macro macro as defn. All instances of -D on the
command line are processed before any -U options.
-dM Tell the preprocessor to output only a list of the macro
definitions that are in effect at the end of preprocessing. Used
with the -E option.
-dN Like -dD except that the macro arguments and contents are
omitted. Only #define name is included in the output.
-fno-show-column Do not print column numbers in diagnostics. This may be
necessary if diagnostics are being scanned by a program that
does not understand the column numbers, such as dejagnu.
-H Print the name of each header file used, in addition to other nor-
mal activities.

- 1
- 2
…
- 97
- 98
- 99
- 100
- 101
…
- 365
- 366