You copied the Doc URL to your clipboard.

Standard C++ library implementation definition

The Standard C++ library in ARM® Compiler 6 is implemented by libc++, with some limitations.

Support for C++11

ARM Compiler 6 libc++ libraries support the majority of C++11. The major limitations are that the Atomic operations library <atomic> and the Thread support library <thread> are not supported.

Support for exceptions

The libc++ libraries support the use of C++ exceptions.

Support for -fno-exceptions and libc++ is limited:

  • ARM Compiler 6 does not contain variants of libc++ that are built with -fno-exceptions. Therefore, exceptions might be thrown from pre-built libc++ objects. If a C++ exception from libc++ propagates into code built with -fno-exceptions, then the program terminates.
  • The parts of libc++ that are implemented in header files might be compiled with -fno-exceptions. When -fno-exceptions is used libc++ calls the assert macro instead of throwing an exception.

    Note

    These assert macros are removed if the macro NDEBUG is defined.

Support for multithreading

ARM Compiler 6 does not support multithreading for libc++. The libc++ libraries have not been built with multithreading support, and both the Atomic operations library and the Thread support library are not supported.

Support for Array Construction and Delete helper functions

ARM Compiler 6 is not compatible with C++ objects from other compilers that use Array Construction and Delete helper functions.

Was this page helpful? Yes No