summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-12 14:12:51 +0000
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-12 14:12:51 +0000
commite8785647e0a501b2e28a2d11e40a6f640049a5bf (patch)
treea803361d4984ed31886800476d356e4948eac355 /gcc
parent71cc9e966f39a797bd0ee3e19d21209662c68283 (diff)
downloadgcc-e8785647e0a501b2e28a2d11e40a6f640049a5bf.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34984 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/Makefile.in6
-rw-r--r--gcc/c-errors.c48
-rw-r--r--gcc/c-typeck.c24
-rw-r--r--gcc/diagnostic.c9
-rw-r--r--gcc/toplev.h3
6 files changed, 67 insertions, 32 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b6f0dc062e..3d79b7de3d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+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.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 4412afd64c6..14886b8f9a2 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -674,8 +674,8 @@ LANG_FLAGS_TO_PASS = $(SUBDIR_FLAGS_TO_PASS) \
# 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)
@@ -1067,6 +1067,8 @@ s-crt0: $(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H)
# 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
diff --git a/gcc/c-errors.c b/gcc/c-errors.c
new file mode 100644
index 00000000000..a553d29abe5
--- /dev/null
+++ b/gcc/c-errors.c
@@ -0,0 +1,48 @@
+/* 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);
+}
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index f057be7cc78..bebe4a95b3c 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -6753,27 +6753,3 @@ c_expand_start_case (exp)
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);
-}
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index 6e95e560c87..5a0c22481bd 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -98,6 +98,9 @@ static void v_pedwarn_with_decl PARAMS ((tree, const char *, va_list));
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 *));
@@ -1092,7 +1095,7 @@ v_error_for_asm (insn, msgid, ap)
/* Report an error at the current line number. */
-void
+static void
verror (msgid, ap)
const char *msgid;
va_list ap;
@@ -1180,7 +1183,7 @@ v_warning_for_asm (insn, msgid, ap)
/* Report a warning at the current line number. */
-void
+static void
vwarning (msgid, ap)
const char *msgid;
va_list ap;
@@ -1191,7 +1194,7 @@ vwarning (msgid, ap)
/* These functions issue either warnings or errors depending on
-pedantic-errors. */
-void
+static void
vpedwarn (msgid, ap)
const char *msgid;
va_list ap;
diff --git a/gcc/toplev.h b/gcc/toplev.h
index dd359f770a0..952d3631bb3 100644
--- a/gcc/toplev.h
+++ b/gcc/toplev.h
@@ -70,13 +70,10 @@ extern void _fatal_insn PARAMS ((const char *,
#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;