5.2 Characteristics of ARM C++
    The ARM compiler supports C++ as defined in the ANSI/ISO/IEC 14882:2014 standard (C++14), including these features: 
    
      - Complete C++ standard library support, with exceptions noted below.
 
      - Templates
 
      - Exceptions, which are enabled with the --exceptions option; see Section 5.8.
 
      - Run-time type information (RTTI), which can be enabled with the --rtti compiler option.
 
    
    The compiler supports the 2014 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.
 
      - Constant expressions for target-specific types are only partially supported. 
 
      - New character types (introduced in the C++11 standard) are not supported.
 
      - Unicode string literals (introduced in the C++11 standard) are not supported. 
 
      - Universal character names in literals (introduced in the C++11 standard) are not supported. 
 
      - Strong compare and exchange (introduced in the C++11 standard) are not supported. 
 
      - Bidirectional fences (introduced in the C++11 standard) are not supported. 
 
      - Memory model (introduced in the C++11 standard) is not supported. 
 
      - Propagating exceptions (introduced in the C++11 standard) is not supported. 
 
      - Thread-local storage (introduced in the C++11 standard) is not supported. 
 
      - Dynamic initialization and destruction with concurrency (introduced in the C++11 standard) is not supported. 
 
    
    The changes made in order to support C++14 may cause "undefined symbol" errors to occur if you link with a C++ object file or library that was compiled with an older version of the compiler. If such linktime errors occur, recompile your C++ code using the --no_demangle command-line option. If any undefined symbol names begin with _Z or _ZVT, recompile the entire application, including object files and libraries. If you do not have source code for the libraries, download a newly-compiled version of the library.