You copied the Doc URL to your clipboard.


Suppresses the generation of code needed to support C++ exceptions.


The -fno-exceptions option can be used with the ARM C++ library, with caution:

  • ARM® Compiler 6 does not contain variants of ARM C++ library that are built with -fno-exceptions. Therefore, exceptions might be thrown from pre-built libc++ objects.
  • The parts of libc++ that are implemented in header files can be compiled with -fno-exceptions. When -fno-exceptions is used, undefined behavior results instead of throwing an exception. In most cases libc++ will call the assert macro. However in a small number of cases it will call abort(), and in some cases it will do nothing at all.


    If the macro NDEBUG is defined these assert macros are removed.

Use of try, catch, or throw results in an error message. If a C++ exception from another object propagates into code built with -fno-exceptions, then the program terminates.