logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_assert_release - An assertion test that is performed even in release builds.

Availability

       This macro is available since SDL 3.2.0.

Simple Directmedia Layer                           SDL 3.2.20                              SDL_assert_release(3)

Description

       This  macro  is  enabled when the SDL_ASSERT_LEVEL is >= 1, otherwise it is disabled. This is meant to be
       for tests that are cheap to make and extremely unlikely to fail; generally it is frowned upon to have  an
       assertion  failure  in  a  release build, so these assertions generally need to be of more than life-and-
       death importance if there's a chance they might trigger. You should almost always consider handling these
       cases more gracefully than an assert allows.

       When assertions are disabled, this wraps condition in a sizeof operator, which means any  function  calls
       and  side  effects  will not run, but the compiler will not complain about any otherwise-unused variables
       that are only referenced in the assertion.

       One can set the environment variable "SDL_ASSERT" to one of several strings ("abort",  "break",  "retry",
       "ignore",  "always_ignore")  to force a default behavior, which may be desirable for automation purposes.
       If your platform requires GUI interfaces to happen on the main thread but you're debugging  an  assertion
       in  a background thread, it might be desirable to set this to "break" so that your debugger takes control
       as soon as assert is triggered,  instead  of  risking  a  bad  UI  interaction  (deadlock,  etc)  in  the
       application. *

Macro Parameters

condition
              boolean value to test.

Name

       SDL_assert_release - An assertion test that is performed even in release builds.

Synopsis

#include<SDL3/SDL_assert.h>#defineSDL_assert_release(condition)SDL_disabled_assert(condition)

Thread Safety

       It is safe to call this macro from any thread.

See Also