# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 281
- 282
- 283
- 284
- 285
…
- 365
- 366

Diagnostics
 2012-2013 Microchip Technology Inc. DS50002071C-page 283
V
__VA_ARGS__ can only appear in the expansion of a C99 variadic macro
The predefined macro __VA_ARGS should be used in the substitution part of a macro
definition using ellipses.
value computed is not used
A value computed is not used.
variable name declared inline
The keyword inline should be used with functions only.
variable %s might be clobbered by longjmp or vfork
A non-volatile automatic variable might be changed by a call to longjmp. These
warnings are possible only in optimizing compilation.
volatile register variables dont work as you might wish
Passing a variable as an argument could transfer the variable to a different register
(w0-w7) than the one specified (if not w0-w7) for argument transmission. Or the
compiler may issue an instruction that is not suitable for the specified register and may
need to temporarily move the value to another place. These are only issues if the
specified register is modified asynchronously (i.e., though an ISR).
W
-Wformat-extra-args ignored without -Wformat
-Wformat must be specified to use -Wformat-extra-args.
-Wformat-nonliteral ignored without -Wformat
-Wformat must be specified to use -Wformat-nonliteral.
-Wformat-security ignored without -Wformat
-Wformat must be specified to use -Wformat-security.
-Wformat-y2k ignored without -Wformat
-Wformat must be specified to use.
-Wid-clash-LEN is no longer supported
The option -Wid-clash-LEN is no longer supported.
-Wmissing-format-attribute ignored without -Wformat
-Wformat must be specified to use -Wmissing-format-attribute.
-Wuninitialized is not supported without -O
Optimization must be on to use the -Wuninitialized option.
identifier was declared extern and later static
The specified identifier was previously declared extern and is now being declared as
static.
identifier was declared implicitly extern and later static
The specified identifier was previously declared implicitly extern and is now being
declared as static.
identifier was previously implicitly declared to return int
There is a mismatch against the previous implicit declaration.

- 1
- 2
…
- 281
- 282
- 283
- 284
- 285
…
- 365
- 366