# Extra Clang Tools 22.1.2 documentation

## clang-tidy - bugprone-assert-side-effect

# bugprone-assert-side-effect

Finds `assert()` with side effect.

The condition of `assert()` is evaluated only in debug builds so a condition with side effect can cause different behavior in debug / release builds.

## Options

AssertMacros

  A comma-separated list of the names of assert macros to be checked. Default is assert,NSAssert,NSCAssert.

CheckFunctionCalls

  Whether to treat non-const member and non-member functions as they produce side effects. Disabled by default because it can increase the number of false positive warnings.

IgnoredFunctions

  A semicolon-separated list of the names of functions or methods to be considered as not having side-effects. Regular expressions are accepted, e.g. `[Rr]ef(erence)?$` matches every type with suffix `Ref`, `ref`, `Reference` and `reference`. The default is empty. If a name in the list contains the sequence :: it is matched against the qualified type name (i.e. `namespace::Type`), otherwise it is matched against only the type name (i.e. `Type`).