EXPR_BINOP
[EXPR_BINOP] = "EXPR_BINOP",
case EXPR_BINOP:
if (expr->type != EXPR_BINOP || expr->op != '&')
if (right->type != EXPR_BINOP || right->op != SPECIAL_LEFTSHIFT)
if (right->type != EXPR_BINOP || right->op != SPECIAL_LEFTSHIFT)
if (expr->type == EXPR_BINOP) {
if (size_expr->type != EXPR_BINOP) {
if (!size_expr || size_expr->type != EXPR_BINOP)
expr->type != EXPR_BINOP)
expr->type == EXPR_BINOP ||
if (expr->type == EXPR_COMPARE || expr->type == EXPR_BINOP
[EXPR_BINOP] = "EXPR_BINOP",
if (expr->type == EXPR_BINOP && (expr->op == '&' || expr->op == '|')) {
if (expr->type != EXPR_BINOP)
if (expr->type == EXPR_BINOP && expr->op == '-')
if (right->type != EXPR_BINOP || right->op != '-' ||
if (!arg || arg->type != EXPR_BINOP || arg->op != '*')
if (expr->type != EXPR_BINOP)
if (expr->left->type == EXPR_BINOP)
if (expr->right->type == EXPR_BINOP)
if (limit->type != EXPR_BINOP || limit->op != '*')
if (expr->type == EXPR_BINOP) /* array elements foo[5] */
if (expr->type != EXPR_BINOP)
if (expr->right->type != EXPR_BINOP)
if (expr->right->type != EXPR_BINOP)
if (expr->type == EXPR_BINOP) {
if (expr->type == EXPR_BINOP && expr->op == '&') {
if (expr->type == EXPR_BINOP) {
if (expr->type == EXPR_BINOP)
if (expr->type != EXPR_BINOP)
if (left->type != EXPR_BINOP || left->op != '&')
if (left->type != EXPR_BINOP) {
if (!left || left->type != EXPR_BINOP)
if (expr->type == EXPR_BINOP && !get_macro_name(expr->pos))
} else if (expr->type == EXPR_BINOP) {
if (expr->type == EXPR_BINOP && expr->op == '&') {
if (dest->type == EXPR_BINOP && dest->op == '+') {
if (!arg || arg->type != EXPR_BINOP)
case EXPR_BINOP:
break; case EXPR_BINOP: {
case EXPR_BINOP:
e3 = alloc_expression(expr->pos, EXPR_BINOP);
add = alloc_expression(expr->pos, EXPR_BINOP);
case EXPR_BINOP:
expr->type = EXPR_BINOP;
expr->type = EXPR_BINOP;
expr->type = EXPR_BINOP;
case EXPR_BINOP:
case EXPR_BINOP:
struct expression *mul = alloc_expression(expr->pos, EXPR_BINOP);
struct expression *sub = alloc_expression(expr->pos, EXPR_BINOP);
case EXPR_BINOP:
expr->type = EXPR_BINOP;
if (unop->type == EXPR_BINOP && unop->op == '+') {
struct expression *add = alloc_expression(token->pos, EXPR_BINOP);
token, tree, EXPR_BINOP, cast_expression,
token, tree, EXPR_BINOP, multiplicative_expression,
token, tree, EXPR_BINOP, additive_expression,
token, tree, EXPR_BINOP, equality_expression,
token, tree, EXPR_BINOP, bitwise_and_expression,
token, tree, EXPR_BINOP, bitwise_xor_expression,
case EXPR_BINOP:
case EXPR_BINOP:
if (addr->type == EXPR_BINOP) {
case EXPR_BINOP:
if (expr->type == EXPR_BINOP) {
if (expr->type != EXPR_BINOP ||
if (size->type == EXPR_BINOP && size->op == '*') {
if (size->type == EXPR_BINOP && size->op == '+' &&
if (arg->type == EXPR_BINOP && arg->op == '+' &&
(arg->type == EXPR_BINOP &&
if (!parent || parent->type != EXPR_BINOP)
if (size->type == EXPR_BINOP)
if (right->type == EXPR_BINOP && !match_size_binop(size, right, &limit_type))
if (expr->type == EXPR_BINOP) /* array elements foo[5] */
if (expr->type == EXPR_BINOP && expr->op == '+' &&
if (expr->type == EXPR_BINOP) /* array elements foo[5] */
if (expr->type == EXPR_BINOP && expr->op == '+') {
if (expr->type == EXPR_BINOP) {
if (expr->type != EXPR_BINOP || expr->op != '+')
if (expr->type != EXPR_BINOP || expr->op != '-')
if (left->type == EXPR_BINOP && left->op == '+') {
if (right->type == EXPR_BINOP)
if (expr->type != EXPR_BINOP || expr->op != '&')
if (expr->type == EXPR_BINOP &&
if (expr->type == EXPR_BINOP) {
if (expr->type == EXPR_BINOP && expr->op == '|') {
if (expr->type == EXPR_BINOP)
if (size->type != EXPR_BINOP || size->op != '+')
if (right->type == EXPR_BINOP && right->op == '*') {
if (size->type == EXPR_BINOP && size->op == '*') {
if (size->type == EXPR_BINOP && size->op == '+' &&
if (array->type != EXPR_BINOP || array->op != '+')
if (array->type != EXPR_BINOP || array->op != '/')
if (expr->type != EXPR_BINOP || expr->op != '-')
if (expr->type != EXPR_BINOP || expr->op != '-')
expr = alloc_tmp_expression(right->pos, EXPR_BINOP);
if (expr->type == EXPR_BINOP)
if (right->type != EXPR_BINOP || right->op != '-')
if (expr->type != EXPR_BINOP)
if (left->type != EXPR_BINOP || left->op != '+')
if (shift->type != EXPR_BINOP || shift->op != SPECIAL_LEFTSHIFT) {
if (shift->type != EXPR_BINOP || shift->op != SPECIAL_LEFTSHIFT)
case EXPR_BINOP:
if (op == PARAM_LIMIT && arg->type == EXPR_BINOP)
case EXPR_BINOP:
if (expr->type == EXPR_BINOP && expr->op == '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
case EXPR_BINOP: {
case EXPR_BINOP:
if (expr->type != EXPR_BINOP)
if (expr->type == EXPR_BINOP && expr->op == '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
if (expr->type != EXPR_BINOP || expr->op != '+')
} else if (expr->type == EXPR_BINOP) {
if (right->type != EXPR_BINOP || right->op != '/')
if (expr->type == EXPR_BINOP)
if (expr->type == EXPR_BINOP && expr->op == '+')
if (expr->type == EXPR_BINOP && expr->op == '+') {
if (expr->type == EXPR_BINOP && expr->op == '+')
while (parent && parent->type != EXPR_BINOP)
if (parent && parent->type == EXPR_BINOP) {
if (expr->type == EXPR_BINOP && expr->op == '%') {
if (expr->type == EXPR_BINOP && expr->op == '/') {
if (expr->type == EXPR_BINOP && expr->op == '-' &&
case EXPR_BINOP:
if (expr->type == EXPR_BINOP) {
case EXPR_BINOP:
case EXPR_BINOP:
if (right->type != EXPR_BINOP || right->op != '-')
case EXPR_BINOP:
if (expr->type == EXPR_BINOP ||