{ \
if ( _Swex_aux_variable_ != NULL ) \
{ \
free_n( _Swex_aux_variable_ ); \
_Swex_aux_variable_ = NULL; \
} \
_Swex_aux_variable_ = malloc( sizeof( type ) ); \
if ( _Swex_aux_variable_ == NULL ) \
err( ENOMEM, "swex_case_imm" ); \
type swex_case_imm_aux_var_ = expr_case; \
memcpy( _Swex_aux_variable_, &swex_case_imm_aux_var_, sizeof( type ) ); \
} \
if ( !_Switch_expression_is_assigned_() \
&& ( _Switch_expression_size_peek_() ) == sizeof( type ) \
&& memcmp( _Switch_expression_value_peek_(), \
_Swex_aux_variable_, \
sizeof( type ) ) \
== 0 ) \
if ( _Switch_expression_assign_() != 1 )
Next statement/block is executed if the currently "switched" value matches this expression
Each case (including default) is only executed if no other case branch has been executed in this swexpr so far