OSDN Git Service

(simple_if): Save stmt_count, and print empty body
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 1993 22:59:22 +0000 (22:59 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Jul 1993 22:59:22 +0000 (22:59 +0000)
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

gcc/c-parse.in

index 81450fb..a62e292 100644 (file)
@@ -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.  */