# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 277
- 278
- 279
- 280
- 281
…
- 365
- 366

Diagnostics
 2012-2013 Microchip Technology Inc. DS50002071C-page 279
shift count >= width of type
Shift counts should be less than the number of bits in the type being shifted. Otherwise,
the shift is meaningless, and the result is undefined.
shift count is negative
Shift counts should be positive. A negative left shift count does not mean shift right, nor
does a negative right shift count mean shift left; they are meaningless.
size of name is larger than n bytes
Using -Wlarger-than-len will produce the above warning when the size of name
is larger than the len bytes defined.
size of identifier is n bytes
The size of the specified identifier (which is n bytes) is larger than the size specified
with the -Wlarger-than-len command-line option.
size of return value of name is larger than n bytes
Using -Wlarger-than-len will produce the above warning when the size of the
return value of name is larger than the len bytes defined.
size of return value of identifier is n bytes
The size of the return value of the specified function is n bytes, which is larger than the
size specified with the -Wlarger-than-len command-line option.
spurious trailing % in format
When checking the argument list of a call to printf, scanf, etc., the compiler found that
there was a spurious trailing % character in the format string.
statement with no effect
A statement has no effect.
static declaration for identifier follows non-static
The specified identifier was declared static after it was previously declared as
non-static.
string length n is greater than the length n ISO Cn compilers are required to
support
The maximum string length for ISO C89 is 509. The maximum string length for ISO C99
is 4095.
struct identifier declared inside parameter list
The specified struct is declared inside a function parameter list. It is usually better
programming practice to declare structs outside parameter lists, since they can never
become complete types when defined inside parameter lists.
struct has no members
The structure is empty, it has no members.
structure defined inside parms
A union is defined inside a function parameter list.
style of line directive is a GCC extension
Use the format #line linenum for traditional C.
subscript has type char
An array subscript has type char.
suggest explicit braces to avoid ambiguous else
A nested if statement has an ambiguous else clause. It is recommended that braces be
used to remove the ambiguity.

- 1
- 2
…
- 277
- 278
- 279
- 280
- 281
…
- 365
- 366