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.
-fno-exceptions and libc++
- 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-exceptionsis used libc++ calls the assert macro instead of throwing an exception.
NoteThese assert macros are removed if the macro
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.