]> granicus.if.org Git - python/commitdiff
Patch #494783: Rename cmp_op enumerators.
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 1 Jan 2002 19:59:11 +0000 (19:59 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 1 Jan 2002 19:59:11 +0000 (19:59 +0000)
Include/opcode.h
Misc/ACKS
Misc/NEWS
Python/ceval.c
Python/compile.c

index 950849942670f6a6686c16aa0ed5590fa473ad25..df086efc88ce37db66e73b9d62b13baa07e648da 100644 (file)
@@ -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)
 
index e5d884d1e2cdd5eb48c4a4774e78621bef26de2e..ead7ec8a9775bd6c611d55082cf38ff7a56c8734 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -85,6 +85,7 @@ Tom Christiansen
 Vadim Chugunov
 David Cinege
 Mike Clarkson
+Brad Clements
 Steve Clift
 Josh Cogliati
 Dave Cole
index 9ef6912fbd14d485b45c5488a5386d467ddda088..a0e35720057442ac6be41fc1ce3bcd9a0529082a 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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
index e7ca82bc1a422d2648fe04709fc79c17163822d3..c59f31c07ee01bc52b2efef43beef7390b66b525 100644 (file)
@@ -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:
index 442128495d2dbbcfbb7a465a380d511b1e224d6d..ca3a47dcf0a2eff724ea7433f5b56393f6894040 100644 (file)
@@ -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);