# **[](https://en.cppreference.com/w/c/header/stdnoreturn)** provides the `noreturn` macro (C11), which tells the compiler a function never returns—useful for `die()` or `fatal()` functions that always exit. This suppresses false warnings about missing returns and enables better dead-code elimination. In C23, `[[noreturn]]` became the attribute syntax; the macro is the C11/C17 spelling. ## Example This example shows how `noreturn` suppresses the "control reaches end" warning. ```c // compile: gcc -Wall -o stdnoreturnexample stdnoreturnexample.c // run: ./stdnoreturnexample // description: noreturn suppresses control-flow warning #include #include #include noreturn void fail(const char* msg) { fprintf(stderr, "error: %s\n", msg); exit(1); } int safe_div(int a, int b) { if (b == 0) fail("divide by zero"); return a / b; } int main() { printf("%d\n", safe_div(10, 2)); return 0; } ```