]> granicus.if.org Git - python/commitdiff
casting nastiness to make C++ compiler happy
authorAnthony Baxter <anthonybaxter@gmail.com>
Thu, 13 Apr 2006 01:23:28 +0000 (01:23 +0000)
committerAnthony Baxter <anthonybaxter@gmail.com>
Thu, 13 Apr 2006 01:23:28 +0000 (01:23 +0000)
Python/compile.c

index cb6e0ecf2889876390dcaf3b249c6489b3e3086f..1bbe73a07968bec8f8cfd7d9e3734bbceb9ae119 100644 (file)
@@ -3058,12 +3058,18 @@ compiler_compare(struct compiler *c, expr_ty e)
                VISIT(c, expr, 
                         (expr_ty)asdl_seq_GET(e->v.Compare.comparators, 0));
        }
+#ifdef __cplusplus
+#define CMPCAST (intptr_t)
+#else
+#define CMPCAST 
+#endif
        for (i = 1; i < n; i++) {
                ADDOP(c, DUP_TOP);
                ADDOP(c, ROT_THREE);
                /* XXX We're casting a void* to cmpop_ty in the next stmt. */
                ADDOP_I(c, COMPARE_OP,
-                       cmpop((cmpop_ty)asdl_seq_GET(e->v.Compare.ops, i - 1)));
+                       cmpop((cmpop_ty)( CMPCAST asdl_seq_GET(
+                                                  e->v.Compare.ops, i - 1))));
                ADDOP_JREL(c, JUMP_IF_FALSE, cleanup);
                NEXT_BLOCK(c);
                ADDOP(c, POP_TOP);
@@ -3074,7 +3080,8 @@ compiler_compare(struct compiler *c, expr_ty e)
        VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, n - 1));
        ADDOP_I(c, COMPARE_OP,
                /* XXX We're casting a void* to cmpop_ty in the next stmt. */
-              cmpop((cmpop_ty)asdl_seq_GET(e->v.Compare.ops, n - 1)));
+              cmpop((cmpop_ty)( CMPCAST asdl_seq_GET(e->v.Compare.ops, 
+                                                       n - 1))));
        if (n > 1) {
                basicblock *end = compiler_new_block(c);
                if (end == NULL)
@@ -3087,6 +3094,7 @@ compiler_compare(struct compiler *c, expr_ty e)
        }
        return 1;
 }
+#undef CMPCAST
 
 static int
 compiler_call(struct compiler *c, expr_ty e)