c-semantics.c (genrtl_switch_stmt, [...]): Call expand_stmt on result of expand_unrea...
authorGeoffrey Keating <geoffk@apple.com>
Fri, 2 May 2003 18:07:01 +0000 (18:07 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Fri, 2 May 2003 18:07:01 +0000 (18:07 +0000)
* c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
expand_stmt on result of expand_unreachable_stmt.

From-SVN: r66392

gcc/ChangeLog
gcc/c-semantics.c

index 9c43843f3f8658d2b6b6fbfef0d891b59b695f55..88e3f7dee262d15d15081bec0ee3c70953bdfbdd 100644 (file)
@@ -1,3 +1,8 @@
+2003-05-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
+       expand_stmt on result of expand_unreachable_stmt.
+
 2003-05-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
        * doc/contrib.texi (Contributors): Add Daniel Berlin.
index 19ea48ebd12d0160b99c3fc7567ceea9ca7e4e2f..522d56322b334773c46792073299b5206b1bf00d 100644 (file)
@@ -416,19 +416,20 @@ genrtl_if_stmt (t)
   expand_start_cond (cond, 0);
   if (THEN_CLAUSE (t))
     {
+      tree nextt = THEN_CLAUSE (t);
+      
       if (cond && integer_zerop (cond))
-       expand_unreachable_stmt (THEN_CLAUSE (t), warn_notreached);
-      else
-       expand_stmt (THEN_CLAUSE (t));
+       nextt = expand_unreachable_stmt (nextt, warn_notreached);
+      expand_stmt (nextt);
     }
 
   if (ELSE_CLAUSE (t))
     {
+      tree nextt = ELSE_CLAUSE (t);
       expand_start_else ();
       if (cond && integer_nonzerop (cond))
-       expand_unreachable_stmt (ELSE_CLAUSE (t), warn_notreached);
-      else
-       expand_stmt (ELSE_CLAUSE (t));
+       nextt = expand_unreachable_stmt (nextt, warn_notreached);
+      expand_stmt (nextt);
     }
   expand_end_cond ();
 }
@@ -687,7 +688,7 @@ genrtl_switch_stmt (t)
 
   emit_line_note (input_filename, input_line);
   expand_start_case (1, cond, TREE_TYPE (cond), "switch statement");
-  expand_unreachable_stmt (SWITCH_BODY (t), warn_notreached);
+  expand_stmt (expand_unreachable_stmt (SWITCH_BODY (t), warn_notreached));
   expand_end_case_type (cond, SWITCH_TYPE (t));
 }