discard else clause from try-except statements that do not terminate normally
authorStefan Behnel <stefan_ml@behnel.de>
Sat, 14 Dec 2013 19:39:37 +0000 (20:39 +0100)
committerStefan Behnel <stefan_ml@behnel.de>
Sat, 14 Dec 2013 19:39:37 +0000 (20:39 +0100)
Cython/Compiler/ParseTreeTransforms.py

index 39d669e..cc74b33 100644 (file)
@@ -2160,6 +2160,12 @@ class RemoveUnreachableCode(CythonTransform):
                 node.is_terminator = True
         return node
 
+    def visit_TryExceptStatNode(self, node):
+        self.visitchildren(node)
+        if node.body.is_terminator:
+            node.else_clause = None
+        return node
+
 
 class YieldNodeCollector(TreeVisitor):