Commit 80b03ffb authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #494783: Rename cmp_op enumerators.

parent 58585eae
...@@ -142,9 +142,9 @@ extern "C" { ...@@ -142,9 +142,9 @@ extern "C" {
/* Support for opargs more than 16 bits long */ /* Support for opargs more than 16 bits long */
#define EXTENDED_ARG 143 #define EXTENDED_ARG 143
/* Comparison operator codes (argument to COMPARE_OP) */
enum cmp_op {LT=Py_LT, LE=Py_LE, EQ=Py_EQ, NE=Py_NE, GT=Py_GT, GE=Py_GE, enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE, PyCmp_GT=Py_GT, PyCmp_GE=Py_GE,
IN, NOT_IN, IS, IS_NOT, EXC_MATCH, BAD}; PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT) #define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
......
...@@ -85,6 +85,7 @@ Tom Christiansen ...@@ -85,6 +85,7 @@ Tom Christiansen
Vadim Chugunov Vadim Chugunov
David Cinege David Cinege
Mike Clarkson Mike Clarkson
Brad Clements
Steve Clift Steve Clift
Josh Cogliati Josh Cogliati
Dave Cole Dave Cole
......
...@@ -24,6 +24,8 @@ Build ...@@ -24,6 +24,8 @@ Build
C API C API
- The enumerators of cmp_op have been renamed to use the prefix PyCmp_.
- An old #define of ANY as void has been removed from pyport.h. This - An old #define of ANY as void has been removed from pyport.h. This
hasn't been used since Python's pre-ANSI days, and the #define has hasn't been used since Python's pre-ANSI days, and the #define has
been marked as obsolete since then. SF bug 495548 says it created been marked as obsolete since then. SF bug 495548 says it created
......
...@@ -1785,14 +1785,14 @@ eval_frame(PyFrameObject *f) ...@@ -1785,14 +1785,14 @@ eval_frame(PyFrameObject *f)
a = PyInt_AS_LONG(v); a = PyInt_AS_LONG(v);
b = PyInt_AS_LONG(w); b = PyInt_AS_LONG(w);
switch (oparg) { switch (oparg) {
case LT: res = a < b; break; case PyCmp_LT: res = a < b; break;
case LE: res = a <= b; break; case PyCmp_LE: res = a <= b; break;
case EQ: res = a == b; break; case PyCmp_EQ: res = a == b; break;
case NE: res = a != b; break; case PyCmp_NE: res = a != b; break;
case GT: res = a > b; break; case PyCmp_GT: res = a > b; break;
case GE: res = a >= b; break; case PyCmp_GE: res = a >= b; break;
case IS: res = v == w; break; case PyCmp_IS: res = v == w; break;
case IS_NOT: res = v != w; break; case PyCmp_IS_NOT: res = v != w; break;
default: goto slow_compare; default: goto slow_compare;
} }
x = res ? Py_True : Py_False; x = res ? Py_True : Py_False;
...@@ -2986,6 +2986,10 @@ PyEval_MergeCompilerFlags(PyCompilerFlags *cf) ...@@ -2986,6 +2986,10 @@ PyEval_MergeCompilerFlags(PyCompilerFlags *cf)
result = 1; result = 1;
cf->cf_flags |= compilerflags; cf->cf_flags |= compilerflags;
} }
if (codeflags & CO_GENERATOR_ALLOWED) {
result = 1;
cf->cf_flags |= CO_GENERATOR_ALLOWED;
}
} }
return result; return result;
} }
...@@ -3470,21 +3474,21 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w) ...@@ -3470,21 +3474,21 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w)
{ {
int res = 0; int res = 0;
switch (op) { switch (op) {
case IS: case PyCmp_IS:
case IS_NOT: case PyCmp_IS_NOT:
res = (v == w); res = (v == w);
if (op == (int) IS_NOT) if (op == (int) PyCmp_IS_NOT)
res = !res; res = !res;
break; break;
case IN: case PyCmp_IN:
case NOT_IN: case PyCmp_NOT_IN:
res = PySequence_Contains(w, v); res = PySequence_Contains(w, v);
if (res < 0) if (res < 0)
return NULL; return NULL;
if (op == (int) NOT_IN) if (op == (int) PyCmp_NOT_IN)
res = !res; res = !res;
break; break;
case EXC_MATCH: case PyCmp_EXC_MATCH:
res = PyErr_GivenExceptionMatches(v, w); res = PyErr_GivenExceptionMatches(v, w);
break; break;
default: default:
......
...@@ -702,7 +702,7 @@ com_addbyte(struct compiling *c, int byte) ...@@ -702,7 +702,7 @@ com_addbyte(struct compiling *c, int byte)
{ {
/*fprintf(stderr, "%3d: %3d\n", c->c_nexti, byte);*/ /*fprintf(stderr, "%3d: %3d\n", c->c_nexti, byte);*/
assert(byte >= 0 && byte <= 255); assert(byte >= 0 && byte <= 255);
assert(c->c_code); assert(c->c_code != 0);
if (com_check_size(&c->c_code, c->c_nexti)) { if (com_check_size(&c->c_code, c->c_nexti)) {
c->c_errors++; c->c_errors++;
return; return;
...@@ -2138,26 +2138,26 @@ cmp_type(node *n) ...@@ -2138,26 +2138,26 @@ cmp_type(node *n)
if (NCH(n) == 1) { if (NCH(n) == 1) {
n = CHILD(n, 0); n = CHILD(n, 0);
switch (TYPE(n)) { switch (TYPE(n)) {
case LESS: return LT; case LESS: return PyCmp_LT;
case GREATER: return GT; case GREATER: return PyCmp_GT;
case EQEQUAL: /* == */ case EQEQUAL: /* == */
case EQUAL: return EQ; case EQUAL: return PyCmp_EQ;
case LESSEQUAL: return LE; case LESSEQUAL: return PyCmp_LE;
case GREATEREQUAL: return GE; case GREATEREQUAL: return PyCmp_GE;
case NOTEQUAL: return NE; /* <> or != */ case NOTEQUAL: return PyCmp_NE; /* <> or != */
case NAME: if (strcmp(STR(n), "in") == 0) return IN; case NAME: if (strcmp(STR(n), "in") == 0) return PyCmp_IN;
if (strcmp(STR(n), "is") == 0) return IS; if (strcmp(STR(n), "is") == 0) return PyCmp_IS;
} }
} }
else if (NCH(n) == 2) { else if (NCH(n) == 2) {
switch (TYPE(CHILD(n, 0))) { switch (TYPE(CHILD(n, 0))) {
case NAME: if (strcmp(STR(CHILD(n, 1)), "in") == 0) case NAME: if (strcmp(STR(CHILD(n, 1)), "in") == 0)
return NOT_IN; return PyCmp_NOT_IN;
if (strcmp(STR(CHILD(n, 0)), "is") == 0) if (strcmp(STR(CHILD(n, 0)), "is") == 0)
return IS_NOT; return PyCmp_IS_NOT;
} }
} }
return BAD; return PyCmp_BAD;
} }
static void static void
...@@ -2214,7 +2214,7 @@ com_comparison(struct compiling *c, node *n) ...@@ -2214,7 +2214,7 @@ com_comparison(struct compiling *c, node *n)
com_addbyte(c, ROT_THREE); com_addbyte(c, ROT_THREE);
} }
op = cmp_type(CHILD(n, i-1)); op = cmp_type(CHILD(n, i-1));
if (op == BAD) { if (op == PyCmp_BAD) {
com_error(c, PyExc_SystemError, com_error(c, PyExc_SystemError,
"com_comparison: unknown comparison op"); "com_comparison: unknown comparison op");
} }
...@@ -3247,7 +3247,7 @@ com_try_except(struct compiling *c, node *n) ...@@ -3247,7 +3247,7 @@ com_try_except(struct compiling *c, node *n)
com_addbyte(c, DUP_TOP); com_addbyte(c, DUP_TOP);
com_push(c, 1); com_push(c, 1);
com_node(c, CHILD(ch, 1)); com_node(c, CHILD(ch, 1));
com_addoparg(c, COMPARE_OP, EXC_MATCH); com_addoparg(c, COMPARE_OP, PyCmp_EXC_MATCH);
com_pop(c, 1); com_pop(c, 1);
com_addfwref(c, JUMP_IF_FALSE, &except_anchor); com_addfwref(c, JUMP_IF_FALSE, &except_anchor);
com_addbyte(c, POP_TOP); com_addbyte(c, POP_TOP);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment