Compiler Reference GuideConventions and Feedback Introduction Compiler Command-line Options Language Extensions Compiler-specific Features C and C++ Implementation Details C and C++ implementation details Character sets and identifiers Basic data types Operations on basic data types Structures, unions, enumerations, and bitfields C++ implementation details Using the ::operator new function Tentative arrays Old-style C parameters in C++ functions Anachronisms Template instantiation Namespaces C++ exception handling Extern inline functions Semihosting ARMv6 SIMD Instruction Intrinsics Via File Syntax Standard C Implementation Definition Standard C++ Implementation Definition C and C++ Compiler Implementation Limits
Compiler Reference Guide
The compiler does all template instantiations automatically, and makes sure there is only one definition of each template entity left after linking. The compiler does this by emitting template entities in named common sections. Therefore, all duplicate common sections, that is, common sections with the same name, are eliminated by the linker.
You can limit the number of concurrent instantiations of a
given template with the
See also --pending_instantiations=n for more information.
When implicit inclusion is enabled, the compiler assumes that
if it requires a definition to instantiate a template entity declared
To find the template definition file for a given template
entity the compiler has to know the full path name of the file where
the template is declared and whether the file is included using
the system include syntax, for example,
The compiler looks for the definition-file suffixes
You can turn implicit inclusion mode on or off with the command-line
Implicit inclusions are only performed during the normal compilation
of a file, that is, when not using the
See Compiler Command-line Options for more information.