drop some redundant C labels in if-blocks
authorStefan Behnel <stefan_ml@behnel.de>
Mon, 16 Dec 2013 19:38:34 +0000 (20:38 +0100)
committerStefan Behnel <stefan_ml@behnel.de>
Mon, 16 Dec 2013 19:38:34 +0000 (20:38 +0100)
--HG--
extra : amend_source : affe6e89d8c2c49654f376fbbda3b1ad29190895

Cython/Compiler/Nodes.py

index 3f60d4b..78cd01f 100644 (file)
@@ -5336,7 +5336,8 @@ class IfClauseNode(Node):
         self.condition.generate_disposal_code(code)
         self.condition.free_temps(code)
         self.body.generate_execution_code(code)
-        code.put_goto(end_label)
+        if not self.body.is_terminator:
+            code.put_goto(end_label)
         code.putln("}")
 
     def generate_function_definitions(self, env, code):