---
name: "assert"
section: "3avr"
platform: "linux"
package: "avr-libc"
version: "1:2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/avr_assert"
---

# assert(3avr)

\<assert.h\>: Diagnostics

Part of [avr\_assert(3avr)](/avr_assert/3avr.md).

## NAME

avr\_assert - \<assert.h\>: Diagnostics

## SYNOPSIS

### Macros

\#define **assert**(expression)\

## Detailed Description

```
#include <assert.h>
```

This header file defines a debugging aid.

As there is no standard error output stream available for many applications using this library, the generation of a printable error message is not enabled by default. These messages will only be generated if the application defines the macro

```
__ASSERT_USE_STDERR
```

before including the `<`**assert.h**`>` **header file. By default, only abort() will be called to halt the application.**

## Macro Definition Documentation

### #define assert(expression)

**Parameters**

*expression* **Expression to test for.**

**The assert() macro tests the given expression and if it is false, the calling process is terminated. A diagnostic message is written to stderr and the function abort() is called, effectively terminating the program.**

**If expression is true, the assert() macro does nothing.**

**The assert() macro may be removed at compile time by defining NDEBUG as a macro (e.g., by using the compiler option -DNDEBUG).**

## Author

**Generated automatically by Doxygen for AVR-LibC from the source code.**
