Introduce asdl_int_seq, to hold cmpop_ty.

This commit is contained in:
Martin v. Löwis 2006-04-13 12:29:43 +00:00
parent 0f1955daee
commit 0cc56e5c59
7 changed files with 44 additions and 23 deletions

View file

@ -3058,17 +3058,11 @@ 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)( CMPCAST asdl_seq_GET(
cmpop((cmpop_ty)(asdl_seq_GET(
e->v.Compare.ops, i - 1))));
ADDOP_JREL(c, JUMP_IF_FALSE, cleanup);
NEXT_BLOCK(c);
@ -3079,9 +3073,7 @@ 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)( CMPCAST asdl_seq_GET(e->v.Compare.ops,
n - 1))));
cmpop((cmpop_ty)(asdl_seq_GET(e->v.Compare.ops, n - 1))));
if (n > 1) {
basicblock *end = compiler_new_block(c);
if (end == NULL)