16#ifndef GLCE_ENGINE_BASE_CHOCO_MACROS_H
17#define GLCE_ENGINE_BASE_CHOCO_MACROS_H
32 #define NO_COVERAGE __attribute__((no_profile_instrument_function))
41#define KIB ((size_t)(1ULL << 10))
47#define MIB ((size_t)(1ULL << 20))
53#define GIB ((size_t)(1ULL << 30))
61#define IS_POWER_OF_TWO(val_) ( ((size_t)(val_) != 0u) && ( (((size_t)(val_) & ((size_t)(val_) - 1u)) == 0u)))
86#define IF_ARG_NULL_GOTO_CLEANUP(ptr_, return_variable_, rslt_code_, rslt_str_, function_name_, variable_name_) \
89 ERROR_MESSAGE("%s(%s) - Argument %s requires a valid pointer.", function_name_, rslt_str_, variable_name_); \
90 return_variable_ = rslt_code_; \
118#define IF_ARG_NOT_NULL_GOTO_CLEANUP(ptr_, return_variable_, rslt_code_, rslt_str_, function_name_, variable_name_) \
121 ERROR_MESSAGE("%s(%s) - Argument %s requires a null pointer.", function_name_, rslt_str_, variable_name_); \
122 return_variable_ = rslt_code_; \
151#define IF_ALLOC_FAIL_GOTO_CLEANUP(ptr_, return_variable_, rslt_code_, function_name_, variable_name_) \
154 ERROR_MESSAGE("%s(NO_MEMORY) - Failed to allocate %s memory.", function_name_, variable_name_); \
155 return_variable_ = rslt_code_; \
183#define IF_ARG_FALSE_GOTO_CLEANUP(is_valid_, return_variable_, rslt_code_, rslt_str_, function_name_, variable_name_) \
186 ERROR_MESSAGE("%s(%s) - Argument %s is not valid.", function_name_, rslt_str_, variable_name_); \
187 return_variable_ = rslt_code_; \
stdout, stderrへの色付きメッセージ出力機能APIの定義