Conformance to the C/C++ Standards
- C++ISO/IEC 14882:1998
- CISO/IEC 9899:1990
- inline template– instantiates the compiler support data for the class (i.e. thevtable) for a class without instantiating its members.
- static template– instantiates the static data members of the template, but not the virtual tables or member functions.
Never emit code for non-inline templates which are instantiated implicitly (i.e. by use). only emit code for explicit instantiations.
Do not emit code for implicit instantiations of inline templates either. The default is to handle inlines differently so that compilations, with and without optimization, will need the same set of explicit instantiations.
- restricted pointers (keyword).restrict
- variable-length Arrays
- flexible array members
- complex number support (keyword)_Complex
- hexadecimal floating-point constants
- compound literals
- designated initializers
- mixed declarations and code
- macros with a variable number of arguments
- inline functions (keyword)inline
- boolean type (keyword)_Bool