The __declspec(noreturn) attribute asserts that a function never returns.
Note:
The __declspec keyword is deprecated.
This __declspec attribute has the
function attribute equivalent __attribute__((noreturn)).
Usage
Use this attribute to reduce the cost of calling a function that never
returns, such as exit(). If a noreturn function returns to its caller, the behavior is undefined.
Restrictions
The return address is not preserved when calling the noreturn function. This limits the ability of a debugger to
display the call stack.
Example
__declspec(noreturn) void overflow(void); // never return on overflow
int negate(int x)
{
if (x == 0x80000000) overflow();
return -x;
}
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers of your data.