In particular, we used to fail to parse "1-3x" because -3 is treated
as a negative constant. Now, we treat is in the same way as "1+-3x".
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_int_is_neg(tok->u.v)) {
struct isl_qpolynomial *qp2;
- qp2 = isl_qpolynomial_cst(isl_basic_map_get_dim(bmap),
- tok->u.v);
- isl_token_free(tok);
+ isl_stream_push_token(s, tok);
+ qp2 = read_factor(s, bmap, v);
qp = isl_qpolynomial_add(qp, qp2);
} else {
isl_stream_push_token(s, tok);