+
+/**
+ * Convenience for string dumping.
+ */
+void ir_obst_printf(struct obstack *obst, const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ir_common_vprintf(&obst_appender, obst, 0, fmt, args);
+ va_end(args);
+}
+
+void ir_vprintf(const char *fmt, va_list args)
+{
+ ir_common_vprintf(&file_appender, stdout, 0, fmt, args);
+}
+
+void ir_vfprintf(FILE *f, const char *fmt, va_list args)
+{
+ ir_common_vprintf(&file_appender, f, 0, fmt, args);
+}
+
+void ir_vsnprintf(char *buf, size_t len, const char *fmt, va_list args)
+{
+ ir_common_vprintf(&str_appender, buf, len, fmt, args);
+}
+
+void ir_obst_vprintf(struct obstack *obst, const char *fmt, va_list args)
+{
+ ir_common_vprintf(&obst_appender, obst, 0, fmt, args);
+}
+
+#else /* WITH_LIBCORE */
+
+#include "irargs_t.h"
+
+void ir_printf(const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ lc_evprintf(firm_get_arg_env(), fmt, args);
+ va_end(args);
+}
+
+void ir_fprintf(FILE *f, const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ lc_evfprintf(firm_get_arg_env(), f, fmt, args);
+ va_end(args);
+}
+
+void ir_snprintf(char *buf, size_t n, const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ lc_evsnprintf(firm_get_arg_env(), buf, n, fmt, args);
+ va_end(args);
+}
+
+void ir_vprintf(const char *fmt, va_list args)
+{
+ lc_evprintf(firm_get_arg_env(), fmt, args);
+}
+
+void ir_vfprintf(FILE *f, const char *fmt, va_list args)
+{
+ lc_evfprintf(firm_get_arg_env(), f, fmt, args);
+}
+
+void ir_vsnprintf(char *buf, size_t len, const char *fmt, va_list args)
+{
+ lc_evsnprintf(firm_get_arg_env(), buf, len, fmt, args);
+}
+
+void ir_obst_vprintf(struct obstack *obst, const char *fmt, va_list args)
+{
+ lc_evoprintf(firm_get_arg_env(), obst, fmt, args);
+}
+
+#endif