# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 90
- 91
- 92
- 93
- 94
…
- 365
- 366

MPLAB
®
XC16 C Compiler Users Guide
DS50002071C-page 92  2012-2013 Microchip Technology Inc.
-Wconversion Warn if a prototype causes a type conversion that is different
from what would happen to the same argument in the
absence of a prototype. This includes conversions of fixed
point to floating and vice versa, and conversions changing the
width or signedness of a fixed point argument, except when
the same as the default promotion.
Also, warn if a negative integer constant expression is
implicitly converted to an unsigned type. For example, warn
about the assignment x = -1 if x is unsigned. But do not
warn about explicit casts like (unsigned) -1.
-Werror Make all warnings into errors.
-Winline Warn if a function can not be inlined, and either it was
declared as inline, or else the -finline-functions option
was given.
-Wlarger-than-len Warn whenever an object of larger than len bytes is defined.
-Wlong-long
-Wno-long-long
Warn if long long type is used. This is default. To inhibit the
warning messages, use -Wno-long-long. Flags
-Wlong-long and -Wno-long-long are taken into account
only when -pedantic flag is used.
-Wmissing-declarations Warn if a global function is defined without a previous
declaration. Do so even if the definition itself provides a
prototype.
-Wmissing-
format-attribute
If -Wformat is enabled, also warn about functions that might
be candidates for format attributes. Note these are only possi-
ble candidates, not absolute ones. This option has no effect
unless -Wformat is enabled.
-Wmissing-noreturn Warn about functions that might be candidates for attribute
noreturn. These are only possible candidates, not absolute
ones. Care should be taken to manually verify functions.
Actually, do not ever return before adding the noreturn attri-
bute; otherwise subtle code generation bugs could be intro-
duced.
-Wmissing-prototypes Warn if a global function is defined without a previous
prototype declaration. This warning is issued even if the
definition itself provides a prototype. (This option can be used
to detect global functions that are not declared in header files.)
-Wnested-externs Warn if an extern declaration is encountered within a
function.
-Wno-deprecated-
declarations
Do not warn about uses of functions, variables and types
marked as deprecated by using the deprecated attribute.
-Wpadded Warn if padding is included in a structure, either to align an
element of the structure or to align the whole structure.
-Wpointer-arith Warn about anything that depends on the size of a function
type or of void. The compiler assigns these types a size of 1,
for convenience in calculations with void * pointers and
pointers to functions.
-Wredundant-decls Warn if anything is declared more than once in the same
scope, even in cases where multiple declaration is valid and
changes nothing.
-Wshadow Warn whenever a local variable shadows another local
variable.
TABLE 5-9: WARNING/ERROR OPTIONS NOT IMPLIED BY -WALL
Option Definition

- 1
- 2
…
- 90
- 91
- 92
- 93
- 94
…
- 365
- 366