+# endif
+
+/** Record that a warning is about to be issued, and treat it as an
+ error if <tt>warnings_flag & warnings_error</tt>. This is exported
+ only for the sake of Yacc-compatible conflict reports in conflicts.c.
+ All other warnings should be implemented in complain.c and should use
+ the normal warning format. */
+void set_warning_issued (void);
+
+/** Informative messages, but we proceed. Report iff
+ <tt>warnings_flag & warnings_other</tt>. */
+
+void warn (char const *format, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+
+void warn_at (location loc, char const *format, ...)
+ __attribute__ ((__format__ (__printf__, 2, 3)));
+
+/* Generate a message aligned by an indent.
+ When *indent == 0, assign message's indent to *indent,
+ When *indent > 0, align the message by *indent value. */
+void warn_at_indent (location loc, unsigned *indent,
+ char const *format, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+
+/** An error, but we continue and die later. */