Lines Matching defs:right

174 static bool check_shift_count(struct expression *expr, struct expression *right)
177 long long count = get_longlong(right);
186 * result right!
193 struct expression *left = expr->left, *right = expr->right;
198 if (right->type != EXPR_VALUE)
200 r = right->value;
202 if (!check_shift_count(expr, right))
207 l = left->value; r = right->value;
295 expr->taint = left->taint | right->taint;
309 struct expression *left = expr->left, *right = expr->right;
313 if (left->type != EXPR_VALUE || right->type != EXPR_VALUE)
315 l = left->value; r = right->value;
335 expr->taint = left->taint | right->taint;
341 struct expression *left = expr->left, *right = expr->right;
345 if (left->type != EXPR_FVALUE || right->type != EXPR_FVALUE)
349 r = right->fvalue;
390 struct expression *left = expr->left, *right = expr->right;
393 if (left->type != EXPR_FVALUE || right->type != EXPR_FVALUE)
397 r = right->fvalue;
416 cost += expand_expression(expr->right);
427 struct expression *right;
450 right = expr->right;
451 rcost = expand_expression(right);
452 if (left->type == EXPR_VALUE && right->type == EXPR_VALUE) {
458 expr->value = right->value != 0;
459 expr->taint = left->taint | right->taint;
464 * If the right side is safe and cheaper than a branch,
481 cost += expand_expression(expr->right);
486 *expr = *expr->right;
496 static int compare_types(int op, struct symbol *left, struct symbol *right)
499 struct ctype c2 = {.base_type = right};
506 return left->bit_size < right->bit_size;
508 return left->bit_size > right->bit_size;
510 return left->bit_size <= right->bit_size;
512 return left->bit_size >= right->bit_size;
519 struct expression *left = expr->left, *right = expr->right;
523 cost += expand_expression(right);
525 if (left && right) {
527 if (left->type == EXPR_TYPE && right->type == EXPR_TYPE) {
530 expr->value = compare_types(op, left->symbol, right->symbol);
577 struct expression *right;
582 right = expr->right;
583 if (right->type != EXPR_VALUE)
585 check_shift_count(expr, right);
594 expand_expression(expr->right);
708 * NOTE! We get a bogus warning right now for some special
713 * test for me to get the type evaluation right..
723 struct expression *right = unop->right;
724 if (right->type != EXPR_VALUE)
726 offset += right->value;
1444 expr = expr->right;