Patch #494783: Rename cmp_op enumerators.
This commit is contained in:
parent
653d85fc86
commit
7198a525f3
|
@ -142,9 +142,9 @@ extern "C" {
|
|||
/* Support for opargs more than 16 bits long */
|
||||
#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,
|
||||
IN, NOT_IN, IS, IS_NOT, EXC_MATCH, BAD};
|
||||
|
||||
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,
|
||||
PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
|
||||
|
||||
#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ Tom Christiansen
|
|||
Vadim Chugunov
|
||||
David Cinege
|
||||
Mike Clarkson
|
||||
Brad Clements
|
||||
Steve Clift
|
||||
Josh Cogliati
|
||||
Dave Cole
|
||||
|
|
|
@ -24,6 +24,8 @@ Build
|
|||
|
||||
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
|
||||
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
|
||||
|
|
|
@ -1785,14 +1785,14 @@ eval_frame(PyFrameObject *f)
|
|||
a = PyInt_AS_LONG(v);
|
||||
b = PyInt_AS_LONG(w);
|
||||
switch (oparg) {
|
||||
case LT: res = a < b; break;
|
||||
case LE: res = a <= b; break;
|
||||
case EQ: res = a == b; break;
|
||||
case NE: res = a != b; break;
|
||||
case GT: res = a > b; break;
|
||||
case GE: res = a >= b; break;
|
||||
case IS: res = v == w; break;
|
||||
case IS_NOT: res = v != w; break;
|
||||
case PyCmp_LT: res = a < b; break;
|
||||
case PyCmp_LE: res = a <= b; break;
|
||||
case PyCmp_EQ: res = a == b; break;
|
||||
case PyCmp_NE: res = a != b; break;
|
||||
case PyCmp_GT: res = a > b; break;
|
||||
case PyCmp_GE: res = a >= b; break;
|
||||
case PyCmp_IS: res = v == w; break;
|
||||
case PyCmp_IS_NOT: res = v != w; break;
|
||||
default: goto slow_compare;
|
||||
}
|
||||
x = res ? Py_True : Py_False;
|
||||
|
@ -2986,6 +2986,10 @@ PyEval_MergeCompilerFlags(PyCompilerFlags *cf)
|
|||
result = 1;
|
||||
cf->cf_flags |= compilerflags;
|
||||
}
|
||||
if (codeflags & CO_GENERATOR_ALLOWED) {
|
||||
result = 1;
|
||||
cf->cf_flags |= CO_GENERATOR_ALLOWED;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -3470,21 +3474,21 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w)
|
|||
{
|
||||
int res = 0;
|
||||
switch (op) {
|
||||
case IS:
|
||||
case IS_NOT:
|
||||
case PyCmp_IS:
|
||||
case PyCmp_IS_NOT:
|
||||
res = (v == w);
|
||||
if (op == (int) IS_NOT)
|
||||
if (op == (int) PyCmp_IS_NOT)
|
||||
res = !res;
|
||||
break;
|
||||
case IN:
|
||||
case NOT_IN:
|
||||
case PyCmp_IN:
|
||||
case PyCmp_NOT_IN:
|
||||
res = PySequence_Contains(w, v);
|
||||
if (res < 0)
|
||||
return NULL;
|
||||
if (op == (int) NOT_IN)
|
||||
if (op == (int) PyCmp_NOT_IN)
|
||||
res = !res;
|
||||
break;
|
||||
case EXC_MATCH:
|
||||
case PyCmp_EXC_MATCH:
|
||||
res = PyErr_GivenExceptionMatches(v, w);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -702,7 +702,7 @@ com_addbyte(struct compiling *c, int byte)
|
|||
{
|
||||
/*fprintf(stderr, "%3d: %3d\n", c->c_nexti, byte);*/
|
||||
assert(byte >= 0 && byte <= 255);
|
||||
assert(c->c_code);
|
||||
assert(c->c_code != 0);
|
||||
if (com_check_size(&c->c_code, c->c_nexti)) {
|
||||
c->c_errors++;
|
||||
return;
|
||||
|
@ -2138,26 +2138,26 @@ cmp_type(node *n)
|
|||
if (NCH(n) == 1) {
|
||||
n = CHILD(n, 0);
|
||||
switch (TYPE(n)) {
|
||||
case LESS: return LT;
|
||||
case GREATER: return GT;
|
||||
case LESS: return PyCmp_LT;
|
||||
case GREATER: return PyCmp_GT;
|
||||
case EQEQUAL: /* == */
|
||||
case EQUAL: return EQ;
|
||||
case LESSEQUAL: return LE;
|
||||
case GREATEREQUAL: return GE;
|
||||
case NOTEQUAL: return NE; /* <> or != */
|
||||
case NAME: if (strcmp(STR(n), "in") == 0) return IN;
|
||||
if (strcmp(STR(n), "is") == 0) return IS;
|
||||
case EQUAL: return PyCmp_EQ;
|
||||
case LESSEQUAL: return PyCmp_LE;
|
||||
case GREATEREQUAL: return PyCmp_GE;
|
||||
case NOTEQUAL: return PyCmp_NE; /* <> or != */
|
||||
case NAME: if (strcmp(STR(n), "in") == 0) return PyCmp_IN;
|
||||
if (strcmp(STR(n), "is") == 0) return PyCmp_IS;
|
||||
}
|
||||
}
|
||||
else if (NCH(n) == 2) {
|
||||
switch (TYPE(CHILD(n, 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)
|
||||
return IS_NOT;
|
||||
return PyCmp_IS_NOT;
|
||||
}
|
||||
}
|
||||
return BAD;
|
||||
return PyCmp_BAD;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2214,7 +2214,7 @@ com_comparison(struct compiling *c, node *n)
|
|||
com_addbyte(c, ROT_THREE);
|
||||
}
|
||||
op = cmp_type(CHILD(n, i-1));
|
||||
if (op == BAD) {
|
||||
if (op == PyCmp_BAD) {
|
||||
com_error(c, PyExc_SystemError,
|
||||
"com_comparison: unknown comparison op");
|
||||
}
|
||||
|
@ -3247,7 +3247,7 @@ com_try_except(struct compiling *c, node *n)
|
|||
com_addbyte(c, DUP_TOP);
|
||||
com_push(c, 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_addfwref(c, JUMP_IF_FALSE, &except_anchor);
|
||||
com_addbyte(c, POP_TOP);
|
||||
|
|
Loading…
Reference in New Issue