---
name: "SDL_ANALYZER_NORETURN"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_ANALYZER_NORETURN"
---

# SDL\_ANALYZER\_NORETURN(3)

A macro to tag a function as never-returning (for analysis purposes).

## NAME

SDL\_ANALYZER\_NORETURN - A macro to tag a function as never-returning (for analysis purposes).

## HEADER FILE

Defined in SDL3/SDL\_begin\_code.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**#define SDL\_ANALYZER\_NORETURN \_\_attribute\_\_((analyzer\_noreturn))**

## DESCRIPTION

This is almost identical to  **SDL\_NORETURN** , except functions marked with this \_can\_ actually return. The difference is that this isn't used for code generation, but rather static analyzers use this information to assume truths about program state and available code paths. Specifically, this tag is useful for writing an assertion mechanism. Indeed,  **SDL\_assert**\
  uses this tag behind the scenes. Generally, apps that don't understand the specific use-case for this tag should avoid using it directly.

On compilers without analyzer\_noreturn support, this is defined to nothing.

This symbol is used in SDL's headers, but apps and other libraries are welcome to use it for their own interfaces as well.

## AVAILABILITY

This macro is available since SDL 3.2.0.
