# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 111
- 112
- 113
- 114
- 115
…
- 365
- 366

MPLAB
®
XC16 C COMPILER
USERS GUIDE
 2012-2013 Microchip Technology Inc. DS50002071C-page 113
Chapter 7. Differences Between MPLAB XC16 and ANSI C
This compiler conforms to the ANS X3.159-1989 Standard for programming languages.
This is commonly called the C89 Standard. It is referred to as the ANSI C Standard in
this manual. Some features from the later standard C99 are also supported.
 Divergence from the ANSI C Standard
 Extensions to the ANSI C Standard
 Implementation-Defined Behavior
7.1 DIVERGENCE FROM THE ANSI C STANDARD
There are no divergences from the ANSI C standard.
7.2 EXTENSIONS TO THE ANSI C STANDARD
The MPLAB XC16 C Compiler provides extensions to the ANSI C standard in these
areas: keywords and expressions.
7.2.1 Keyword Differences
The new keywords are part of the base GCC implementation and the discussions in the
referenced sections are based on the standard GCC documentation, tailored for the
specific syntax and semantics of the 16-bit compiler port of GCC.
 Specifying Attributes of Variables  Section 8.12 Variable Attributes
 Specifying Attributes of Functions  Section 13.2.1 Function Specifiers
 Inline Functions  Section 13.6 Inline Functions
 Variables in Specified Registers  Section 10.9 Allocation of Variables to Reg-
isters
 Complex Numbers  Section 8.8 Complex Data Types
7.2.2 Expression Differences
Expression differences are:
 Binary Constants  Section 8.9 Literal Constant Types and Formats.
7.3 IMPLEMENTATION-DEFINED BEHAVIOR
Certain features of the ANSI C standard have implementation-defined behavior. This
means that the exact behavior of some C code can vary from compiler to compiler.
The exact behavior of the MPLAB XC16 C Compiler is detailed throughout this
documentation, and is fully summarized in Appendix A. Implementation-Defined
Behavior.

- 1
- 2
…
- 111
- 112
- 113
- 114
- 115
…
- 365
- 366