26 #include "kmp_i18n_id.inc" 43 void __kmp_i18n_catopen();
44 void __kmp_i18n_catclose();
45 char const *__kmp_i18n_catgets(kmp_i18n_id_t
id);
47 #define KMP_I18N_STR(id) __kmp_i18n_catgets(kmp_i18n_str_##id) 101 typedef enum kmp_msg_type kmp_msg_type_t;
109 typedef struct kmp_msg kmp_msg_t;
112 extern kmp_msg_t __kmp_msg_null;
117 kmp_msg_t __kmp_msg_format(
unsigned id_arg, ...);
118 kmp_msg_t __kmp_msg_error_code(
int code);
119 kmp_msg_t __kmp_msg_error_mesg(
char const *mesg);
122 #define KMP_MSG(...) __kmp_msg_format(kmp_i18n_msg_##__VA_ARGS__) 123 #define KMP_HNT(...) __kmp_msg_format(kmp_i18n_hnt_##__VA_ARGS__) 124 #define KMP_SYSERRCODE(code) __kmp_msg_error_code(code) 125 #define KMP_SYSERRMESG(mesg) __kmp_msg_error_mesg(mesg) 126 #define KMP_ERR KMP_SYSERRCODE 129 enum kmp_msg_severity {
134 typedef enum kmp_msg_severity kmp_msg_severity_t;
139 void __kmp_msg(kmp_msg_severity_t severity, kmp_msg_t message, ...);
140 KMP_NORETURN
void __kmp_fatal(kmp_msg_t message, ...);
143 #define KMP_INFORM(...) \ 144 __kmp_msg(kmp_ms_inform, KMP_MSG(__VA_ARGS__), __kmp_msg_null) 145 #define KMP_WARNING(...) \ 146 __kmp_msg(kmp_ms_warning, KMP_MSG(__VA_ARGS__), __kmp_msg_null) 147 #define KMP_FATAL(...) __kmp_fatal(KMP_MSG(__VA_ARGS__), __kmp_msg_null) 148 #define KMP_SYSFAIL(func, error) \ 149 __kmp_fatal(KMP_MSG(FunctionError, func), KMP_SYSERRCODE(error), \ 153 #define KMP_CHECK_SYSFAIL(func, error) \ 156 KMP_SYSFAIL(func, error); \ 161 #define KMP_CHECK_SYSFAIL_ERRNO(func, status) \ 165 KMP_SYSFAIL(func, error); \ 170 void __kmp_i18n_dump_catalog(kmp_str_buf_t *buffer);
175 #endif // __cplusplus