From 49468c8be16b9d3c18257ad86be42371a12dd3ca Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Fri, 9 May 2003 09:25:34 +0000 Subject: [PATCH] c-parse.in (if_stmt_locus): New object. * c-parse.in (if_stmt_locus): New object. (if_prefix rule): Use it. Don't use warning_with_file_and_line. (select_or_iter_stmt rule): Likewise. (if_stmt_file): Remove. (if_stmt_line): Likewise. * jump.c: include "diagnostic.h" (never_reached_warning): Don't use warning_with_file_and_line. * Makefile.in (jump.o): Add dependce on diagnostic.h From-SVN: r66627 --- gcc/ChangeLog | 11 +++++++++++ gcc/Makefile.in | 3 ++- gcc/c-parse.in | 14 +++++++------- gcc/jump.c | 10 +++++++--- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f56f19bb5c4..4478a942c70 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2003-05-09 Gabriel Dos Reis + + * c-parse.in (if_stmt_locus): New object. + (if_prefix rule): Use it. Don't use warning_with_file_and_line. + (select_or_iter_stmt rule): Likewise. + (if_stmt_file): Remove. + (if_stmt_line): Likewise. + * jump.c: include "diagnostic.h" + (never_reached_warning): Don't use warning_with_file_and_line. + * Makefile.in (jump.o): Add dependce on diagnostic.h + 2003-05-09 Alan Modra * expr.c (move_block_from_reg): Remove "size" parm. Localize vars. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 563649b021f..f4c9a92e3e2 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1578,7 +1578,8 @@ integrate.o : integrate.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $ $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h gt-integrate.h jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \ hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h function.h \ - toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H) + toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H) \ + diagnostic.h simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(REGS_H) hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \ diff --git a/gcc/c-parse.in b/gcc/c-parse.in index 807f90a9048..f9d3656662d 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -261,10 +261,10 @@ end ifobjc static int stmt_count; static int compstmt_count; -/* Input file and line number of the end of the body of last simple_if; +/* Input location of the end of the body of last simple_if; used by the stmt-rule immediately after simple_if returns. */ -static const char *if_stmt_file; -static int if_stmt_line; +static location_t if_stmt_locus; + /* List of types and structure classes of the current declaration. */ static GTY(()) tree current_declspecs; @@ -2215,8 +2215,8 @@ if_prefix: { c_expand_start_cond (c_common_truthvalue_conversion ($4), compstmt_count,$2); $$ = stmt_count; - if_stmt_file = $-2; - if_stmt_line = $-1; } + if_stmt_locus.file = $-2; + if_stmt_locus.line = $-1; } ; /* This is a subroutine of stmt. @@ -2305,8 +2305,8 @@ select_or_iter_stmt: else statement. Increment stmt_count so we don't give a second error if this is a nested `if'. */ if (extra_warnings && stmt_count++ == $1) - warning_with_file_and_line (if_stmt_file, if_stmt_line, - "empty body in an if-statement"); } + warning ("%Hempty body in an if-statement", + &if_stmt_locus); } /* Make sure c_expand_end_cond is run once for each call to c_expand_start_cond. Otherwise a crash is likely. */ diff --git a/gcc/jump.c b/gcc/jump.c index 5bed408fb5c..4cb9bcb1f6f 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -54,6 +54,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "reload.h" #include "predict.h" #include "timevar.h" +#include "diagnostic.h" /* Optimize jump y; x: ... y: jumpif... x? Don't know if it is worth bothering with. */ @@ -1951,9 +1952,12 @@ never_reached_warning (avoided_insn, finish) reached_end = 1; } if (two_avoided_lines && contains_insn) - warning_with_file_and_line (NOTE_SOURCE_FILE (a_line_note), - NOTE_LINE_NUMBER (a_line_note), - "will never be executed"); + { + location_t locus; + locus.file = NOTE_SOURCE_FILE (a_line_note); + locus.line = NOTE_LINE_NUMBER (a_line_note); + warning ("%Hwill never be executed", &locus); + } } /* Throughout LOC, redirect OLABEL to NLABEL. Treat null OLABEL or -- 2.30.2