extern "C" {
# endif
-# ifdef __STDC__
-
/* Informative messages, but we proceed. */
+void warn (const char *format, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+
void warn_at (location_t location, const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
/* Something bad happen, but let's continue and die later. */
+void complain (const char *format, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+
void complain_at (location_t location, const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
/* Something bad happen and we die now. */
void fatal (const char *format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
+ __attribute__ ((__noreturn__, __format__ (__printf__, 1, 2)));
void fatal_at (location_t location, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-
-# else
-void warn_at ();
-void complain_at ();
-void fatal ();
-void fatal_at ();
-# endif
+ __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
/* Position in the current input file. */
-extern char *infile;
+extern const char *current_file;
-/* This variable is incremented each time `warn' is called. */
-extern unsigned int warn_message_count;
+/* This variable is set each time `warn' is called. */
+extern bool warning_issued;
-/* This variable is incremented each time `complain' is called. */
-extern unsigned int complain_message_count;
+/* This variable is set each time `complain' is called. */
+extern bool complaint_issued;
# ifdef __cplusplus
}