aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 4beb86e..fa87140 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -366,10 +366,9 @@ struct stmt_status GTY(())
always compute a value for each expr-stmt in case it is the last one. */
int x_expr_stmts_for_value;
- /* Filename and line number of last line-number note,
- whether we actually emitted it or not. */
- const char *x_emit_filename;
- int x_emit_lineno;
+ /* Location of last line-number note, whether we actually
+ emitted it or not. */
+ location_t x_emit_locus;
struct goto_fixup *x_goto_fixup_chain;
};
@@ -385,8 +384,7 @@ struct stmt_status GTY(())
#define last_expr_type (cfun->stmt->x_last_expr_type)
#define last_expr_value (cfun->stmt->x_last_expr_value)
#define expr_stmts_for_value (cfun->stmt->x_expr_stmts_for_value)
-#define emit_filename (cfun->stmt->x_emit_filename)
-#define emit_lineno (cfun->stmt->x_emit_lineno)
+#define emit_locus (cfun->stmt->x_emit_locus)
#define goto_fixup_chain (cfun->stmt->x_goto_fixup_chain)
/* Nonzero if we are using EH to handle cleanups. */
@@ -474,8 +472,8 @@ set_file_and_line_for_stmt (file, line)
update it. */
if (cfun->stmt)
{
- emit_filename = file;
- emit_lineno = line;
+ emit_locus.file = file;
+ emit_locus.line = line;
}
}
@@ -2200,8 +2198,7 @@ expand_expr_stmt_value (exp, want_value, maybe_last)
if (warn_unused_value
&& !(TREE_CODE (exp) == CONVERT_EXPR
&& VOID_TYPE_P (TREE_TYPE (exp))))
- warning_with_file_and_line (emit_filename, emit_lineno,
- "statement with no effect");
+ warning ("%Hstatement with no effect", &emit_locus);
}
else if (warn_unused_value)
warn_if_unused_value (exp);
@@ -2361,8 +2358,7 @@ warn_if_unused_value (exp)
if (TREE_SIDE_EFFECTS (exp))
return 0;
- warning_with_file_and_line (emit_filename, emit_lineno,
- "value computed is not used");
+ warning ("%Hvalue computed is not used", &emit_locus);
return 1;
}
}
@@ -4507,10 +4503,13 @@ check_seenlabel ()
/* If insn is zero, then there must have been a syntax error. */
if (insn)
- warning_with_file_and_line (NOTE_SOURCE_FILE (insn),
- NOTE_LINE_NUMBER (insn),
- "unreachable code at beginning of %s",
- case_stack->data.case_stmt.printname);
+ {
+ location_t locus;
+ locus.file = NOTE_SOURCE_FILE (insn);
+ locus.line = NOTE_LINE_NUMBER (insn);
+ warning ("%Hunreachable code at beginning of %s", &locus,
+ case_stack->data.case_stmt.printname);
+ }
break;
}
}