The _Noreturn function specifier

The _Noreturn function specifier declares a function that does not return to its caller. When you declare a function with the specifier, the compiler can better optimize your code without regard to what happens if it returns. Any function, with the exception of main, can be declared or defined with the _Noreturn function specifier.

When _Noreturn is enabled, the __IBMC_NORETURN macro is defined as 1.

The following code fragment shows a function definition with the _Noreturn specifier:
_Noreturn void f () {
  abort(); 
}
Notes: