From ae2af8315ee8538774efe2cf608d4be50be5305a Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 28 Aug 2018 20:03:27 +0100 Subject: Allow for default parameters that are non-constant entities, but not any non-constant expression --- src/ir.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index 476a7fba0..daa0770d2 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -5128,6 +5128,9 @@ irValue *ir_build_expr_internal(irProcedure *proc, Ast *expr) { // args[i] = GB_PANIC("TODO ParameterValue_Location"); break; + case ParameterValue_Value: + args[i] = ir_build_expr(proc, e->Variable.param_value.ast_value); + break; } } else { args[i] = ir_emit_conv(proc, args[i], e->type); @@ -5221,6 +5224,9 @@ irValue *ir_build_expr_internal(irProcedure *proc, Ast *expr) { case ParameterValue_Location: args[arg_index++] = ir_emit_source_code_location(proc, proc_name, pos); break; + case ParameterValue_Value: + args[arg_index++] = ir_build_expr(proc, e->Variable.param_value.ast_value); + break; } } } @@ -5312,6 +5318,9 @@ irValue *ir_build_expr_internal(irProcedure *proc, Ast *expr) { case ParameterValue_Location: args[i] = ir_emit_source_code_location(proc, proc_name, pos); break; + case ParameterValue_Value: + args[i] = ir_build_expr(proc, e->Variable.param_value.ast_value); + break; } } } -- cgit v1.2.3