# HG changeset patch # User Robert Bradshaw # Date 1223449525 25200 # Node ID fe6e3dd9d513f26cef376a17210a927b47931b09 # Parent e95e3d2cb88dea47e420408c5b619a6b2e140d34 Fix ticket #72, (compiler crash on bad code) --- a/Cython/Compiler/Optimize.py Tue Oct 07 23:41:34 2008 -0700 +++ b/Cython/Compiler/Optimize.py Wed Oct 08 00:05:25 2008 -0700 @@ -39,12 +39,12 @@ if is_common_value(cond.operand1, cond.operand1): if isinstance(cond.operand2, ExprNodes.ConstNode): return cond.operand1, [cond.operand2] - elif hasattr(cond.operand2, 'entry') and cond.operand2.entry.is_const: + elif hasattr(cond.operand2, 'entry') and cond.operand2.entry and cond.operand2.entry.is_const: return cond.operand1, [cond.operand2] if is_common_value(cond.operand2, cond.operand2): if isinstance(cond.operand1, ExprNodes.ConstNode): return cond.operand2, [cond.operand1] - elif hasattr(cond.operand1, 'entry') and cond.operand1.entry.is_const: + elif hasattr(cond.operand1, 'entry') and cond.operand1.entry and cond.operand1.entry.is_const: return cond.operand2, [cond.operand1] elif (isinstance(cond, ExprNodes.BoolBinopNode) and cond.operator == 'or'):