25 #include "kmp_i18n_id.inc"
42 void __kmp_i18n_catopen();
43 void __kmp_i18n_catclose();
44 char const *__kmp_i18n_catgets(kmp_i18n_id_t
id);
46 #define KMP_I18N_STR(id) __kmp_i18n_catgets(kmp_i18n_str_##id)
100 typedef enum kmp_msg_type kmp_msg_type_t;
108 typedef struct kmp_msg kmp_msg_t;
111 extern kmp_msg_t __kmp_msg_null;
116 kmp_msg_t __kmp_msg_format(
unsigned id_arg, ...);
117 kmp_msg_t __kmp_msg_error_code(
int code);
118 kmp_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
128 enum kmp_msg_severity {
133 typedef enum kmp_msg_severity kmp_msg_severity_t;
138 void __kmp_msg(kmp_msg_severity_t severity, kmp_msg_t message, ...);
139 KMP_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); \
169 void __kmp_i18n_dump_catalog(kmp_str_buf_t *buffer);
174 #endif // __cplusplus