Updated library information to
reflect recent changes, including the Microchip Unified Standard Library
Corrected examples of using the
__pack specifier
Removed 'How To' on the cause or
reset, which was not appropriate for PIC32C/SAM devices
Updated the size of floating-point
types to reflect recent compiler changes
Updated information on how to ensure
a function is not removed
Updated information relating to using
a debugger
Updated information on the compiler
option controls available in the MPLAB X IDE
Updated information on the runtime
startup code, including information on the data initialization template
Provided dedicated sections on all
compiler options in addition to a summary table
Added new information on
-mdfp, -mpure-code,
-feliminate-unused-debug-symbols, -Og, and
--dinit-compress options
Some options and description were not
relevant for PIC32/SAM devices and were removed
Added divergences from the C99
language standard
Expanded configuration bit access
information
Improved information on tightly
coupled memories
Added used variable
attribute
Added
externally_visible and nopa function
attributes
Added information on placing code in
eXecute Only Memory (XOM)
Updated information on interrupt
context switch
Improved information on smart IO
features
Many general corrections and
improvements
Revision D (September 2023)
Updated references to the C++
standard to reflect that the ISO/IEC 14882:2014 C++ program language is now
supported
Defined the compiler's
implementation-defined behavior for the C++14 standard in a new section
Included additional information on interrupt operation
Removed the CCI chapter and
references to this, as CCI is not supported for C/SAM devices and the feature is
disabled in the MPLAB X IDE
Revision E (June 2024)
Added new How To explaining how the stack usage for each function in a module can be
displayed
Added new How To showing how to prevent a program's checksum to change
Added summary of supported Arm
architectures and cores
Removed reference to the unsupported -mreserve option from a How
To
Updated compiler options used with the Linktime Optimizations
setting in XC32 Global options tab of the MPLAB X IDE
Project Properties
Added option present in the xc32-ar (Library Archive) tab of
the MPLAB X IDE Project Properties
Added a diagram indicating the internal compiler applications
Added the following options to the
guide:
-marm
-mcmse
-mlibc-variant
-mmalloc-variant
--version
-std
-Wformat-smart-io
-dA
-fdiagnostics-show-caret
-fframe-base-loclist
-mno-info-linker
-madj-exiting-edge-prob
-mauto-indexing
-ffat-lto-objects
-finline-small-functions
-mloop-rename-registers
-flto-partition
-fpeel-loops
-mthumb2-align-loop
-ftracer
-fuse-linker-plugin
-T
Corrected typo in the name of what should have been the
--dint-compression option and specified this with the
-Wl, prefix, since it is a linker option
Added tcm variable
attribute
Removed erroneous text and corrected the example in the Variables in Register
section
Updated the Dynamic Memory Allocation section to include the new allocation
schemes
Updated the runtime startup code section to include the on-exit feature
The online versions of the documents are provided as a courtesy. Verify all content and data in the device’s PDF documentation found on the device product page.