aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-parser.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2008-09-30 09:52:41 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2008-09-30 09:52:41 +0000
commit626c34b5c945cc9c577bd0509d297b81df083d3f (patch)
tree550e5d90532796178dbba4eb2e6ff1c54828d12c /gcc/c-parser.c
parentb5d60b839fd858c794384f4e6bf18005211e7add (diff)
downloadgcc-626c34b5c945cc9c577bd0509d297b81df083d3f.zip
gcc-626c34b5c945cc9c577bd0509d297b81df083d3f.tar.gz
gcc-626c34b5c945cc9c577bd0509d297b81df083d3f.tar.bz2
c-common.c (empty_if_body_warning): Remove.
2008-09-30 Paolo Bonzini <bonzini@gnu.org> * c-common.c (empty_if_body_warning): Remove. * c-common.h (empty_if_body_warning): Remove. * c-parser.c (c_parser_if_body, c_parser_else_body): Implement here the -Wempty-body warning for `if' and `else' statements. * c-typeck.c (c_finish_if_stmt): Do not call empty_body_warning. cp: 2008-09-30 Paolo Bonzini <bonzini@gnu.org> * parser.c (cp_parser_selection_statement): Implement here the -Wempty-body warning for `if' and `else' statements. * semantics.c (finish_if_stmt): Do not call empty_body_warning. testsuite: 2008-09-30 Paolo Bonzini <bonzini@gnu.org> * g++.dg/warn/if-empty-1.C: Copy from gcc.dg/if-empty-1.c. From-SVN: r140780
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r--gcc/c-parser.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 2b64c86..9597660 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -3858,8 +3858,12 @@ c_parser_if_body (c_parser *parser, bool *if_p)
*if_p = c_parser_next_token_is_keyword (parser, RID_IF);
if (c_parser_next_token_is (parser, CPP_SEMICOLON))
{
+ location_t loc = c_parser_peek_token (parser)->location;
add_stmt (build_empty_stmt ());
c_parser_consume_token (parser);
+ if (!c_parser_next_token_is_keyword (parser, RID_ELSE))
+ warning_at (loc, OPT_Wempty_body,
+ "suggest braces around empty body in an %<if%> statement");
}
else if (c_parser_next_token_is (parser, CPP_OPEN_BRACE))
add_stmt (c_parser_compound_statement (parser));
@@ -3883,6 +3887,9 @@ c_parser_else_body (c_parser *parser)
c_parser_label (parser);
if (c_parser_next_token_is (parser, CPP_SEMICOLON))
{
+ warning_at (c_parser_peek_token (parser)->location,
+ OPT_Wempty_body,
+ "suggest braces around empty body in an %<else%> statement");
add_stmt (build_empty_stmt ());
c_parser_consume_token (parser);
}