-#ifdef VA_START
- va_list args;
-#endif
-
- if (error_one_per_line)
- {
- static const char *old_infile;
- static int old_lineno;
-
- if (old_lineno == location &&
- (infile == old_infile || !strcmp (old_infile, infile)))
- /* Simply return and print nothing. */
- return;
-
- old_infile = infile;
- old_lineno = location;
- }
-
- fflush (stdout);
- if (infile != NULL)
- fprintf (stderr, "%s:%d: ", infile, location);
- else
- fprintf (stderr, "%s:", program_name);
-
-#ifdef VA_START
- VA_START (args, message);
- vfprintf (stderr, message, args);
- va_end (args);
-#else
- fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
-#endif
-
- ++complain_message_count;
- putc ('\n', stderr);
- fflush (stderr);
+ ERROR_MESSAGE (&loc, NULL, message);
+ complaint_issued = true;