Blender  V3.3
Macros | Functions
BLI_assert.h File Reference

Go to the source code of this file.

Macros

#define _BLI_ASSERT_PRINT_POS(a)   _BLI_assert_print_pos(__FILE__, __LINE__, "<?>", # a)
 
#define _BLI_ASSERT_ABORT()   (void)0
 
#define BLI_assert(a)
 
#define BLI_assert_msg(a, msg)
 
#define BLI_STATIC_ASSERT(a, msg)
 
#define BLI_STATIC_ASSERT_ALIGN(st, align)    BLI_STATIC_ASSERT((sizeof(st) % (align) == 0), "Structure must be strictly aligned")
 
#define BLI_assert_unreachable()
 

Functions

void _BLI_assert_print_pos (const char *file, int line, const char *function, const char *id)
 
void _BLI_assert_print_extra (const char *str)
 
void _BLI_assert_print_backtrace (void)
 
void _BLI_assert_abort (void)
 
void _BLI_assert_unreachable_print (const char *file, int line, const char *function)
 

Detailed Description

Defines:

Definition in file BLI_assert.h.

Macro Definition Documentation

◆ _BLI_ASSERT_ABORT

#define _BLI_ASSERT_ABORT ( )    (void)0

Definition at line 43 of file BLI_assert.h.

◆ _BLI_ASSERT_PRINT_POS

#define _BLI_ASSERT_PRINT_POS (   a)    _BLI_assert_print_pos(__FILE__, __LINE__, "<?>", # a)

Definition at line 37 of file BLI_assert.h.

◆ BLI_assert

#define BLI_assert (   a)
Value:
_BLI_ASSERT_PRINT_POS(a), \
_BLI_ASSERT_ABORT(), \
NULL)) : \
NULL)
void _BLI_assert_print_backtrace(void)
Definition: BLI_assert.c:31
SyclQueue void void size_t num_bytes void
static unsigned a[3]
Definition: RandGen.cpp:78

Definition at line 46 of file BLI_assert.h.

◆ BLI_assert_msg

#define BLI_assert_msg (   a,
  msg 
)
Value:
_BLI_ASSERT_PRINT_POS(a), \
_BLI_assert_print_extra(msg), \
_BLI_ASSERT_ABORT(), \
NULL)) : \
NULL)

A version of BLI_assert() to pass an additional message to be printed on failure.

Definition at line 53 of file BLI_assert.h.

◆ BLI_assert_unreachable

#define BLI_assert_unreachable ( )
Value:
{ \
_BLI_assert_unreachable_print(__FILE__, __LINE__, __func__); \
BLI_assert_msg(0, "This line of code is marked to be unreachable."); \
} \
((void)0)

Indicates that this line of code should never be executed. If it is reached, it will abort in debug builds and print an error in release builds.

Definition at line 93 of file BLI_assert.h.

◆ BLI_STATIC_ASSERT

#define BLI_STATIC_ASSERT (   a,
  msg 
)

Definition at line 83 of file BLI_assert.h.

◆ BLI_STATIC_ASSERT_ALIGN

#define BLI_STATIC_ASSERT_ALIGN (   st,
  align 
)     BLI_STATIC_ASSERT((sizeof(st) % (align) == 0), "Structure must be strictly aligned")

Definition at line 86 of file BLI_assert.h.

Function Documentation

◆ _BLI_assert_abort()

void _BLI_assert_abort ( void  )

Definition at line 38 of file BLI_assert.c.

◆ _BLI_assert_print_backtrace()

void _BLI_assert_print_backtrace ( void  )

Definition at line 31 of file BLI_assert.c.

References BLI_system_backtrace().

◆ _BLI_assert_print_extra()

void _BLI_assert_print_extra ( const char *  str)

Definition at line 20 of file BLI_assert.c.

References str.

◆ _BLI_assert_print_pos()

void _BLI_assert_print_pos ( const char *  file,
int  line,
const char *  function,
const char *  id 
)

Definition at line 15 of file BLI_assert.c.

References file.

◆ _BLI_assert_unreachable_print()

void _BLI_assert_unreachable_print ( const char *  file,
int  line,
const char *  function 
)

Definition at line 25 of file BLI_assert.c.

References file.