Lines Matching defs:left

60 	return valid_expr_type(expr->left)
193 static struct symbol *bigger_int_type(struct symbol *left, struct symbol *right)
204 left = integer_promotion(left);
207 if (left == right)
208 return left;
210 lmod = left->ctype.modifiers;
213 return (left->rank > right->rank) ? left : right;
215 utype = left;
218 stype = left;
398 info(expr->pos, " %s", show_typename(expr->left->ctype));
464 struct expression *left,
486 } else if (!restricted_value(left, rtype))
521 struct expression *left,
529 warn_for_different_enum_types(right->pos, left->ctype, right->ctype);
549 ctype = restricted_binop_type(op, left, right,
554 unrestrict(left, lclass, &ltype);
571 classify_type(degenerate(expr->left), &ctype);
578 if ((expr->left->flags & CEF_ADDR) && (expr->right->flags & CEF_ICE))
629 mul->left = index;
818 struct expression *l = expr->left;
857 sub->left = l;
861 div->left = sub;
903 if (!evaluate_conditional(expr->left, 0))
910 expr->flags = expr->left->flags & expr->right->flags;
918 int lclass = classify_type(expr->left->ctype, &ltype);
924 expr->flags = expr->left->flags & expr->right->flags;
938 unrestrict(expr->left, lclass, &ltype);
944 const unsigned left_not = expr->left->type == EXPR_PREOP
945 && expr->left->op == '!';
954 ltype = usual_conversions(op, expr->left, expr->right,
959 expr->left = cast_to(expr->left, ltype);
973 struct expression *index = expr->left;
975 expr->left = expr->right;
992 expr->flags &= expr->left->flags & expr->right->flags;
1026 struct expression *left = expr->left, *right = expr->right;
1028 int lclass = classify_type(degenerate(left), &ltype);
1043 if (is_safe_type(left->ctype) || is_safe_type(right->ctype))
1046 expr->flags = left->flags & right->flags & ~CEF_CONST_MASK & ~CEF_ADDR;
1050 ctype = usual_conversions(expr->op, expr->left, expr->right,
1052 expr->left = cast_to(expr->left, ctype);
1065 int is_null1 = is_null_pointer_constant(left);
1068 bad_null(left);
1078 expr->left = cast_to(left, rtype);
1102 expr->left = cast_to(left, rtype);
1298 struct symbol *target = expr->left->ctype;
1324 unrestrict(expr->left, tclass, &t);
1342 info(expr->pos, " left side has type %s", show_typename(t));
1361 target = usual_conversions(op, expr->left, expr->right,
1536 expr = expr->left;
1560 mark_assigned(expr->left);
1576 static void evaluate_assign_to(struct expression *left, struct symbol *type)
1579 expression_error(left, "assignment to const expression");
1581 /* We know left is an lvalue, so it's a "preop-*" */
1582 mark_assigned(left->unop);
1587 struct expression *left = expr->left;
1590 if (!lvalue_expression(left)) {
1595 ltype = left->ctype;
1605 evaluate_assign_to(left, ltype);
1732 e2->left = e1;
1740 e3->left = e0;
1749 e4->left = e2;
1977 expr->left = arg;
2045 add->left = expr;
2260 expr->left = size;
2872 expr->left = cast_to(old, ctype);
3285 expr->left = idx;
3303 expr->left = copy;
3403 evaluate_expression(expr->left);
3411 evaluate_expression(expr->left);
3416 evaluate_expression(expr->left);
3422 evaluate_expression(expr->left);