Mercurial > cpython-lru_cache-weakref
diff Python/compile.c @ 7946:ad114620f8c2 legacy-trunk
Make first raise argument optional
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 09 Apr 1998 21:39:57 +0000 |
| parents | 9ef9cadd978c |
| children | 48240f525ec3 |
line wrap: on
line diff
--- a/Python/compile.c Thu Apr 09 21:38:06 1998 +0000 +++ b/Python/compile.c Thu Apr 09 21:39:57 1998 +0000 @@ -659,6 +659,8 @@ { int n = PyList_Size(list); int i; + /* XXX This is quadratic in the number of names per compilation unit. + XXX Should use a dictionary. */ for (i = n; --i >= 0; ) { PyObject *w = PyList_GetItem(list, i); if (v->ob_type == w->ob_type && PyObject_Compare(v, w) == 0) @@ -2050,12 +2052,14 @@ node *n; { int i; - REQ(n, raise_stmt); /* 'raise' test [',' test [',' test]] */ - com_node(c, CHILD(n, 1)); - if (NCH(n) > 3) { - com_node(c, CHILD(n, 3)); - if (NCH(n) > 5) - com_node(c, CHILD(n, 5)); + REQ(n, raise_stmt); /* 'raise' [test [',' test [',' test]]] */ + if (NCH(n) > 1) { + com_node(c, CHILD(n, 1)); + if (NCH(n) > 3) { + com_node(c, CHILD(n, 3)); + if (NCH(n) > 5) + com_node(c, CHILD(n, 5)); + } } i = NCH(n)/2; com_addoparg(c, RAISE_VARARGS, i);
