Patch #1810 by Thomas Lee, reviewed by myself:
allow compiling Python AST objects into code objects
in compile().
diff --git a/Python/compile.c b/Python/compile.c
index 47a63e7..4f55b36 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -2211,8 +2211,11 @@
return UNARY_POSITIVE;
case USub:
return UNARY_NEGATIVE;
+ default:
+ PyErr_Format(PyExc_SystemError,
+ "unary op %d should not be possible", op);
+ return 0;
}
- return 0;
}
static int
@@ -2246,8 +2249,11 @@
return BINARY_AND;
case FloorDiv:
return BINARY_FLOOR_DIVIDE;
+ default:
+ PyErr_Format(PyExc_SystemError,
+ "binary op %d should not be possible", op);
+ return 0;
}
- return 0;
}
static int
@@ -2274,8 +2280,9 @@
return PyCmp_IN;
case NotIn:
return PyCmp_NOT_IN;
+ default:
+ return PyCmp_BAD;
}
- return PyCmp_BAD;
}
static int
@@ -2309,10 +2316,11 @@
return INPLACE_AND;
case FloorDiv:
return INPLACE_FLOOR_DIVIDE;
+ default:
+ PyErr_Format(PyExc_SystemError,
+ "inplace binary op %d should not be possible", op);
+ return 0;
}
- PyErr_Format(PyExc_SystemError,
- "inplace binary op %d should not be possible", op);
- return 0;
}
static int