25#include "kmp_i18n_id.inc"
42void __kmp_i18n_catopen();
43void __kmp_i18n_catclose();
44char const *__kmp_i18n_catgets(kmp_i18n_id_t
id);
46#define KMP_I18N_STR(id) __kmp_i18n_catgets(kmp_i18n_str_##id)
100typedef enum kmp_msg_type kmp_msg_type_t;
108typedef struct kmp_msg kmp_msg_t;
111extern kmp_msg_t __kmp_msg_null;
116kmp_msg_t __kmp_msg_format(
unsigned id_arg, ...);
117kmp_msg_t __kmp_msg_error_code(
int code);
118kmp_msg_t __kmp_msg_error_mesg(
char const *mesg);
121#define KMP_MSG(...) __kmp_msg_format(kmp_i18n_msg_##__VA_ARGS__)
122#define KMP_HNT(...) __kmp_msg_format(kmp_i18n_hnt_##__VA_ARGS__)
123#define KMP_SYSERRCODE(code) __kmp_msg_error_code(code)
124#define KMP_SYSERRMESG(mesg) __kmp_msg_error_mesg(mesg)
125#define KMP_ERR KMP_SYSERRCODE
128enum kmp_msg_severity {
133typedef enum kmp_msg_severity kmp_msg_severity_t;
138void __kmp_msg(kmp_msg_severity_t severity, kmp_msg_t message, ...);
139KMP_NORETURN
void __kmp_fatal(kmp_msg_t message, ...);
142#define KMP_INFORM(...) \
143 __kmp_msg(kmp_ms_inform, KMP_MSG(__VA_ARGS__), __kmp_msg_null)
144#define KMP_WARNING(...) \
145 __kmp_msg(kmp_ms_warning, KMP_MSG(__VA_ARGS__), __kmp_msg_null)
146#define KMP_FATAL(...) __kmp_fatal(KMP_MSG(__VA_ARGS__), __kmp_msg_null)
147#define KMP_SYSFAIL(func, error) \
148 __kmp_fatal(KMP_MSG(FunctionError, func), KMP_SYSERRCODE(error), \
152#define KMP_CHECK_SYSFAIL(func, error) \
155 KMP_SYSFAIL(func, error); \
160#define KMP_CHECK_SYSFAIL_ERRNO(func, status) \
164 KMP_SYSFAIL(func, error); \
169void __kmp_i18n_dump_catalog(kmp_str_buf_t *buffer);