c-typeck.c (pedwarn_c99): Move to

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.

From-SVN: r34984
This commit is contained in:
Gabriel Dos Reis 2000-07-12 14:12:51 +00:00 committed by Gabriel Dos Reis
parent 61b0bcccdf
commit b9161f44f0
6 changed files with 67 additions and 32 deletions

View File

@ -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.

View File

@ -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

48
gcc/c-errors.c Normal file
View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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;