The C28x compiler supports C++ as defined in the ANSI/ISO/IEC 14882:2003 standard
(C++03), including these features:
- Complete C++ standard library support,
with exceptions noted below.
- Templates
- Exceptions, which are enabled with the
--exceptions option; see Section 6.6.
- Run-time type information (RTTI), which
can be enabled with the --rtti compiler option.
The compiler supports the 2003
standard of C++ as standardized by the
ISO. However, the following features are not implemented or fully supported:
- The compiler does not support embedded
C++ run-time-support libraries.
- The library supports wide chars
(wchar_t), in that template functions and classes that are defined for char are also
available for wchar_t. For example, wide char stream classes wios, wiostream, wstreambuf
and so on (corresponding to char classes ios, iostream, streambuf) are implemented.
However, there is no low-level file I/O for wide chars. Also, the C library interface to
wide char support (through the C++ headers <cwchar> and <cwctype>) is limited
as described above in the C library.
-
If the definition of an inline function contains a static variable, and it
appears in multiple compilation units (usually because it’s a member function of a class
defined in a header file), the compiler generates multiple copies of the static variable
rather than resolving them to a single definition. The compiler emits a warning (#1369) in
such cases.
- The export keyword is not implemented.