summaryrefslogtreecommitdiff
path: root/gcc/c-parse.in
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-07-07 22:59:22 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1993-07-07 22:59:22 +0000
commit0de352cfbc0f3d0fca0595075136e2872f7925d4 (patch)
treeef96f83bc45b6798be6e91bcd5bca65688f91bc8 /gcc/c-parse.in
parent419c1004674cab0a63ad42073887ecbc23a79f19 (diff)
downloadgcc-0de352cfbc0f3d0fca0595075136e2872f7925d4.tar.gz
(simple_if): Save stmt_count, and print empty body
warning here. (if_prefix): Don't save stmt_count here. (stmt): Don't print empty body warning here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4880 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-parse.in')
-rw-r--r--gcc/c-parse.in13
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 81450fb8799..a62e29200d1 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -1543,7 +1543,12 @@ compstmt: '{' '}'
/* Value is number of statements counted as of the closeparen. */
simple_if:
- if_prefix lineno_labeled_stmt
+ if_prefix
+ { $<itype>1 = stmt_count; }
+ lineno_labeled_stmt
+ { if (extra_warnings && stmt_count == $<itype>1)
+ warning_with_file_and_line (if_stmt_file, if_stmt_line,
+ "empty body in an if-statement"); }
/* Make sure expand_end_cond is run once
for each call to expand_start_cond.
Otherwise a crash is likely. */
@@ -1554,7 +1559,6 @@ if_prefix:
IF '(' expr ')'
{ emit_line_note ($<filename>-1, $<lineno>0);
expand_start_cond (truthvalue_conversion ($3), 0);
- $<itype>1 = stmt_count;
if_stmt_file = $<filename>-1;
if_stmt_line = $<lineno>0;
position_after_white_space (); }
@@ -1629,10 +1633,7 @@ stmt:
if (extra_warnings && stmt_count == $<itype>1)
warning ("empty body in an else-statement"); }
| simple_if %prec IF
- { expand_end_cond ();
- if (extra_warnings && stmt_count == $<itype>1)
- warning_with_file_and_line (if_stmt_file, if_stmt_line,
- "empty body in an if-statement"); }
+ { expand_end_cond (); }
/* Make sure expand_end_cond is run once
for each call to expand_start_cond.
Otherwise a crash is likely. */