mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-14 14:23:43 +00:00
Merge pull request #6731 from odin-lang/bill/expand-values-operator
Support `**` as `expand_values` operator: `**x` == `expand_values(x)`
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
gb_internal lbValue lb_emit_arith_matrix(lbProcedure *p, TokenKind op, lbValue lhs, lbValue rhs, Type *type, bool component_wise);
|
||||
gb_internal lbValue lb_build_slice_expr_value(lbProcedure *p, Ast *expr);
|
||||
gb_internal lbValue lb_expand_values(lbProcedure *p, lbValue val, Type *type);
|
||||
|
||||
gb_internal LLVMValueRef lb_const_low_bits_mask(LLVMTypeRef type, u64 bit_count) {
|
||||
GB_ASSERT(bit_count <= 64);
|
||||
@@ -4668,6 +4669,11 @@ gb_internal lbValue lb_build_expr_internal(lbProcedure *p, Ast *expr) {
|
||||
switch (ue->op.kind) {
|
||||
case Token_And:
|
||||
return lb_build_unary_and(p, expr);
|
||||
case Token_MulMul:
|
||||
{
|
||||
lbValue val = lb_build_expr(p, ue->expr);
|
||||
return lb_expand_values(p, val, type);
|
||||
}
|
||||
default:
|
||||
{
|
||||
lbValue v = lb_build_expr(p, ue->expr);
|
||||
|
||||
Reference in New Issue
Block a user