You copied the Doc URL to your clipboard.

Revisions for Using the Compiler

This appendix describes the technical changes between released issues of this book.

Table 24. Differences between issue F and issue G
ChangeTopics affected
Clarified the difference between __packed and #pragma pack for address-taken fields.Comparisons of an unpacked struct, a __packed struct, and a struct with individually __packed fields, and of a __packed struct and a #pragma packed struct

Where appropriate, rather than 16-bit Thumb or 32-bit Thumb, referred instead to Thumb or Thumb-2 technology.

Various topics
Added three entries for VFPv4.Vector Floating-Point (VFP) architectures
Added Cortex-A7.
Revised the topics related to integer division by zero.

Table 25. Differences between issue D and issue F
ChangeTopics affected
Revised the descriptions for topics related to integer division by zero.
Mentioned that VFPv2 instructions are supported in inline assembly. Mentioned that instructions in VFPv3 or higher are not supported by inline assembler.
Changed the description of the restrictions on the inline assembler.
Removed the example of using coprocessor instructions in inline assembler because coprocessor instructions in inline assembler are discouraged. Added a new example for the use of VFP instructions in inline assembler.

Inline assembler Vector Floating-Point (VFP) restrictions in C and C++ code

Added a row on VFP and NEON for differences between inline and embedded assembler.

Differences in compiler support of inline and embedded assembly code

Where appropriate:

  • prefixed Thumb with 16-bit

  • changed Thumb-1 to 16-bit Thumb

  • changed Thumb-2 to 32-bit Thumb.

Various topics
Changed the ARMCCnn_CCOPT and ARMCCnnINC environment variables to ARMCCn_CCOPT and ARMCCnINC.Various topics

Table 26. Differences between issue C and issue D
ChangeTopics affected
Added a topic on using GCC fallback.Using GCC fallback when building applications
Removed the topics on Profiler-guided optimizations.Compiler Features
Removed reference to ARM Profiler.Code metrics
Removed references to Eclipse Workbench IDE and ARM Profiler.Code metrics for measurement of code size and data size

Merged the following topics into the topic Stack use in C and C++:

  • Methods of estimating stack usage

  • Methods of reducing stack usage

  • Using a debugger to estimate stack usage.

Changed --info=summary stack to --info=summarystack. Also removed references to ARM Profiler.

Rephrased branches to function calls.

Stack use in C and C++
Removed the note about profiler guided optimizationsInline functions
Removed reference to --profileInline functions and removal of unused out-of-line functions at link time
Changed ARMCC41* environment variables to ARMCCnn*. And added link to the topic Toolchain environment variables in the Introducing to ARM Compiler toolchain document.Various topics
Changed ARM Compiler 4.1 to ARM Compiler 4.1 and later.
Removed mention of Vista.PreCompiled Header (PCH) files
Removed mention of Solaris.
Changed onwards to later, and mentioned ARM Compiler 4.1.
Removed mention of FLEXlm licence.Compilation build time
When -J is not specified on the command-line, mention that the compiler searches ARMCCnnINC, then ARMINC, then../include.Compiler command-line options and search paths
Added ARMINC to the list of search paths.Factors influencing how the compiler searches for header files
Added link to Compiler command line options and search paths.The ARMCCnINC environment variable
Changed description to say that ARMCCnnINC might be initialized.The ARMCCnINC environment variable
Moved "…is colon separated on UNIX …" to the topic on ARMCCnnINC.The ARMCCnINC environment variable
Specify the search order when -I and -J are both specified.Compiler command-line options and search paths
Added note to deprecate --ltcg.Automatic function inlining and multifile compilation
Inline assembler definitions with __asm and asm can include multiple strings.

Table 27. Differences between issue B and issue C
ChangeTopics affected
Changed the doubleword alignment to be multiples of 8 instead of 4.Advantages of natural data alignment


Was this page helpful? Yes No