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