+2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * c-typeck.c (pedwarn_c99): Move to
+ * c-errors.c: ... Here.
+ * toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
+ * diagnostic.c (verror, vwarning, vpedwarn): Make static.
+ * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
+ (c-errors.o): List dependency.
+
2000-07-12 Mark Mitchell <mark@codesourcery.com>
* c-parse.c: Remove.
# Lists of files for various purposes.
# Language-specific object files for C and Objective C.
-C_AND_OBJC_OBJS = c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o \
- c-aux-info.o c-common.o c-iterate.o c-semantics.o @extra_c_objs@
+C_AND_OBJC_OBJS = c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
+ c-convert.o c-aux-info.o c-common.o c-iterate.o c-semantics.o @extra_c_objs@
# Language-specific object files for C.
C_OBJS = c-parse.o c-lang.o $(C_AND_OBJC_OBJS)
# C language specific files.
+c-errors.o: $(srcdir)/c-errors.c $(CONFIG_H) system.h $(TREE_H) c-tree.h \
+ flags.h diagnostic.h
c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h $(GGC_H) \
$(srcdir)/c-parse.h c-tree.h c-common.h input.h flags.h system.h \
toplev.h output.h
--- /dev/null
+/* Various diagnostic subroutines for the GNU C language.
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+#include "config.h"
+#include "system.h"
+#include "tree.h"
+#include "c-tree.h"
+#include "tm_p.h"
+#include "flags.h"
+#include "diagnostic.h"
+
+/* Issue an ISO C99 pedantic warning MSGID. */
+
+void
+pedwarn_c99 VPARAMS ((const char *msgid, ...))
+{
+#ifndef ANSI_PROTOTYPES
+ const char *msgid;
+#endif
+ va_list ap;
+
+ VA_START (ap, msgid);
+
+#ifndef ANSI_PROTOTYPES
+ msgid = va_arg (ap, const char *);
+#endif
+
+ report_diagnostic (msgid, ap, input_filename, lineno,
+ !flag_isoc99 || !flag_pedantic_errors);
+}
return exp;
}
-
-/* Issue an ISO C99 pedantic warning MSGID. */
-
-void
-pedwarn_c99 VPARAMS ((const char *msgid, ...))
-{
-#ifndef ANSI_PROTOTYPES
- const char *msgid;
-#endif
- va_list ap;
-
- VA_START (ap, msgid);
-
-#ifndef ANSI_PROTOTYPES
- msgid = va_arg (ap, const char *);
-#endif
-
- if (flag_isoc99)
- vpedwarn (msgid, ap);
- else
- vwarning (msgid, ap);
-
- va_end (ap);
-}
static void v_pedwarn_with_file_and_line PARAMS ((const char *, int,
const char *, va_list));
static void vsorry PARAMS ((const char *, va_list));
+static void verror PARAMS ((const char *, va_list));
+static void vwarning PARAMS ((const char *, va_list));
+static void vpedwarn PARAMS ((const char *, va_list));
static void report_file_and_line PARAMS ((const char *, int, int));
static void vnotice PARAMS ((FILE *, const char *, va_list));
static void set_real_maximum_length PARAMS ((output_buffer *));
/* Report an error at the current line number. */
-void
+static void
verror (msgid, ap)
const char *msgid;
va_list ap;
/* Report a warning at the current line number. */
-void
+static void
vwarning (msgid, ap)
const char *msgid;
va_list ap;
/* These functions issue either warnings or errors depending on
-pedantic-errors. */
-void
+static void
vpedwarn (msgid, ap)
const char *msgid;
va_list ap;
#endif
extern void warning PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-extern void vwarning PARAMS ((const char *, va_list));
extern void error PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-extern void verror PARAMS ((const char *, va_list));
extern void pedwarn PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1;
-extern void vpedwarn PARAMS ((const char *, va_list));
extern void pedwarn_with_file_and_line PARAMS ((const char *, int,
const char *, ...))
ATTRIBUTE_PRINTF_3;