Indicates that the function does not return.
[[ noreturn ]] [[ __noreturn__ ]] | ||
[[ _Noreturn ]] [[ ___Noreturn__ ]] | (deprecated) |
Indicates that the function does not return.
This attribute applies to the name of the function and specifies that the function does not return by executing the return statement or by reaching the end of the function body (it may return by executing longjmp
). The behavior is undefined if the function with this attribute actually returns. A compiler diagnostic is recommended if this can be detected.
It has been previously donated by the keyword _Noreturn
until it was deprecated since C23 and replaced by this attribute.
The following standard functions are declared with noreturn
attribute (they used to be declared with _Noreturn
specifier until C23):
C documentation for _Noreturn |
|
C++ documentation for [[noreturn]] |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/language/attributes/noreturn