EXPR_PREOP
[EXPR_PREOP] = "EXPR_PREOP",
case EXPR_PREOP:
if (expr->type == EXPR_PREOP || expr->type == EXPR_POSTOP)
if (right->type != EXPR_PREOP ||
if (expr->type != EXPR_PREOP)
if (!expr || expr->type != EXPR_PREOP || expr->op != '*')
if (expr->type != EXPR_PREOP)
if (expr->type != EXPR_PREOP)
if (right->type != EXPR_PREOP || right->op != '&')
if (expr->type != EXPR_PREOP)
if (expr->type != EXPR_PREOP)
if (tmp->type == EXPR_PREOP && tmp->op == '(')
if (arg->type == EXPR_PREOP && arg->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '!')
if (expr->type != EXPR_PREOP)
while (parent && parent->type == EXPR_PREOP && parent->op == '(')
if (parent && parent->type == EXPR_PREOP && parent->op == '&')
if (expr->type != EXPR_PREOP)
while (parent && parent->type == EXPR_PREOP && parent->op == '(')
if (parent && parent->type == EXPR_PREOP && parent->op == '&')
if (expr->type != EXPR_PREOP)
[EXPR_PREOP] = "EXPR_PREOP",
if (tmp->type == EXPR_PREOP && tmp->op == '&')
if (dest->type != EXPR_PREOP || dest->op != '&')
if (data->type != EXPR_PREOP || data->op != '&')
case EXPR_PREOP:
if (arg->type == EXPR_PREOP && arg->op == '&')
if (expr->left->type == EXPR_PREOP)
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (deref->type == EXPR_PREOP && deref->op == '*')
if (expr->type != EXPR_PREOP || expr->op != '&')
case EXPR_PREOP:
if (expr->type == EXPR_PREOP || expr->type == EXPR_POSTOP) {
if (!expr || expr->type != EXPR_PREOP || expr->op != '*')
if (!expr || expr->type != EXPR_PREOP || expr->op != '*')
if (expr->type == EXPR_PREOP && expr->op == '!')
if (expr->left->type == EXPR_PREOP && expr->left->op == '!') {
if (expr->left->unop->type == EXPR_PREOP && expr->left->unop->op == '!')
if (ret_value->type != EXPR_PREOP || ret_value->op != '-')
if (ptr->type != EXPR_PREOP || ptr->op != '&')
if (data->type == EXPR_PREOP && data->op == '&')
if (data->type == EXPR_PREOP && data->op == '&')
if (data->type != EXPR_PREOP || data->op != '&')
if (expr->right->type == EXPR_PREOP && expr->right->op == '~')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type == EXPR_PREOP) {
if (expr->type != EXPR_PREOP)
if (arg->type != EXPR_PREOP || arg->op != '&')
while (parent->type == EXPR_PREOP && parent->op == '(') {
if (parent->type == EXPR_PREOP && parent->op == '&')
if (!arg || arg->type != EXPR_PREOP || arg->op != '&')
if (arg->type != EXPR_PREOP || arg->op != '&')
if (right->type == EXPR_PREOP && right->op == '&')
while (next->type == EXPR_PREOP && next->op == '!')
while (next->type == EXPR_PREOP && next->op == '!')
if (fn->type == EXPR_PREOP) {
case EXPR_PREOP:
if (expr->type != EXPR_PREOP)
break; case EXPR_PREOP: case EXPR_POSTOP: {
expr->type = EXPR_PREOP;
e1 = alloc_expression(expr->pos, EXPR_PREOP);
expr->type = EXPR_PREOP;
if (expr->op != '*' || expr->type != EXPR_PREOP) {
if (op->op != '*' || op->type != EXPR_PREOP) {
if (op->type == EXPR_PREOP && op->op == '&') {
expr->type = EXPR_PREOP;
case EXPR_PREOP:
while (e && e->type == EXPR_PREOP && e->op == '(')
expr->type = EXPR_PREOP;
if (fn->type != EXPR_PREOP)
if (sym->type == SYM_NODE && fn->type == EXPR_PREOP &&
case EXPR_PREOP:
case EXPR_PREOP:
case EXPR_PREOP:
return expr->type == EXPR_PREOP && expr->op == '*';
expr->type = EXPR_PREOP;
const unsigned left_not = expr->left->type == EXPR_PREOP
const unsigned right_not = expr->right->type == EXPR_PREOP
case EXPR_PREOP:
if (fn->type != EXPR_PREOP)
expr = alloc_expression(token->pos, EXPR_PREOP);
struct expression *deref = alloc_expression(token->pos, EXPR_PREOP);
struct expression *inner = alloc_expression(token->pos, EXPR_PREOP);
unary = alloc_expression(token->pos, EXPR_PREOP);
unary = alloc_expression(token->pos, EXPR_PREOP);
case EXPR_PREOP:
if (fn->type == EXPR_PREOP && fn->op == '*' && is_func_type(fn->ctype))
case EXPR_PREOP:
case EXPR_PREOP:
if (expr->type == EXPR_PREOP && expr->op == '*')
case EXPR_PREOP:
if (fn->type == EXPR_PREOP) {
if (right->type == EXPR_PREOP && right->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (unop->type == EXPR_PREOP && unop->op == '*')
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type != EXPR_PREOP || expr->op != '&')
while (expr && expr->type == EXPR_PREOP && expr->op == '&') {
if (tmp->type != EXPR_PREOP)
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type != EXPR_PREOP)
(mod_expr->type != EXPR_PREOP && mod_expr->type != EXPR_POSTOP) ||
if (mod_expr->type != EXPR_PREOP && mod_expr->type != EXPR_POSTOP)
((mod_expr->type == EXPR_PREOP || mod_expr->type == EXPR_POSTOP) &&
if (expr->type != EXPR_PREOP ||
if (expr->type == EXPR_PREOP &&
case EXPR_PREOP:
case EXPR_PREOP:
if (right->type == EXPR_PREOP && right->op == '(')
if (array->type != EXPR_PREOP || array->op != '*')
if (expr->type == EXPR_PREOP && expr->op == '*')
if (expr->type == EXPR_PREOP && expr->op == '*')
if (expr->type == EXPR_PREOP && expr->op == '*')
if (container->type == EXPR_PREOP && container->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '(')
if (arg->type == EXPR_PREOP && arg->op == '&') {
if (arg->type == EXPR_PREOP && arg->op == '&') {
if (arg->type == EXPR_PREOP && arg->op == '&' && star_cnt && !add_dot) {
if (arg->type == EXPR_PREOP && arg->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '&') {
preop = alloc_tmp_expression(expr->pos, EXPR_PREOP);
!(right->type == EXPR_PREOP && right->op == '&') &&
if (expr->type != EXPR_PREOP)
while (expr->type == EXPR_PREOP) {
if (assigned->type != EXPR_PREOP || assigned->op != '&')
case EXPR_PREOP:
if (assigned->type == EXPR_PREOP && assigned->op == '&') {
if (arg->type == EXPR_PREOP && arg->op == '&')
if (unop_expr->type != EXPR_PREOP && unop_expr->type != EXPR_POSTOP)
if (condition->type != EXPR_PREOP && condition->type != EXPR_POSTOP)
if (unop->type == EXPR_PREOP) {
if (tmp->type == EXPR_PREOP && tmp->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (left->type != EXPR_PREOP || left->op != '*')
if (parent->type == EXPR_PREOP && parent->op == '&')
if (parent->type == EXPR_PREOP && parent->op == '(')
case EXPR_PREOP:
if (expr->type == EXPR_PREOP && expr->op == '*')
if (tmp->type == EXPR_PREOP && tmp->op == '&')
if (right->type == EXPR_PREOP && right->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '*') {
if (expr->type == EXPR_PREOP && expr->op == '*')
while (expr->type == EXPR_PREOP && expr->op == '(')
if (parent->type == EXPR_PREOP && parent->op == '*')
if (deref->type == EXPR_PREOP && op == '*') {
if (unop->type == EXPR_PREOP && unop->op == '&') {
case EXPR_PREOP: {
case EXPR_PREOP:
if (expr->type == EXPR_PREOP && expr->op == '*') {
if (expr->type == EXPR_PREOP && expr->op == '*')
if (expr->type == EXPR_PREOP && expr->op == '*')
if (expr->type != EXPR_PREOP)
if (expr->type == EXPR_PREOP) {
case EXPR_PREOP: {
unop->type == EXPR_PREOP && unop->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '*') {
if (expr->type == EXPR_PREOP && expr->op == '&')
if (deref->type == EXPR_PREOP && deref->op == '*')
if ((expr->type == EXPR_PREOP || expr->type == EXPR_POSTOP) &&
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '&')
if (expr->type != EXPR_PREOP || expr->op != '&')
if (!expr || expr->type != EXPR_PREOP || expr->op != '*')
if (expr->type == EXPR_PREOP && expr->op == '&') {
if (expr->type == EXPR_PREOP && expr->op == '*' &&
case EXPR_PREOP:
if (expr->type == EXPR_PREOP && expr->op == SPECIAL_DECREMENT)
if (expr->type == EXPR_PREOP && expr->op == SPECIAL_INCREMENT)
case EXPR_PREOP:
case EXPR_PREOP:
if (left->type != EXPR_PREOP || left->op != '&')
if (right->type != EXPR_PREOP || right->op != '&')
if (tmp->type == EXPR_PREOP && tmp->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '*') {
if (expr->type == EXPR_PREOP && expr->op == '*') {
if (expr->type == EXPR_PREOP && expr->op == '&') {
if ((faked->type == EXPR_PREOP || faked->type == EXPR_POSTOP) &&
if (arg->type == EXPR_PREOP && arg->op == '&') {
if (expr->type != EXPR_PREOP && expr->type != EXPR_POSTOP)
case EXPR_PREOP:
if (right->type == EXPR_PREOP && right->op == '&')
if (expr->type == EXPR_PREOP && expr->op == '&')
if (left->type == EXPR_PREOP && left->op == '*' && is_pointer(left))
case EXPR_PREOP:
if (expr->type == EXPR_PREOP || expr->type == EXPR_POSTOP) {
if (right->type != EXPR_PREOP || right->op != '&')
if (arg->type != EXPR_PREOP || arg->op != '&')
if (arg->type != EXPR_PREOP || arg->op != '&')
if ((expr->type == EXPR_PREOP && expr->op == '*')) {
case EXPR_PREOP: {
while (e && e->type == EXPR_PREOP && e->op == '(')
case EXPR_PREOP:
while (e && e->type == EXPR_PREOP && e->op == '(')