diff options
| author | Vexu <git@vexu.eu> | 2020-04-18 10:51:08 +0300 |
|---|---|---|
| committer | Vexu <git@vexu.eu> | 2020-04-18 11:39:52 +0300 |
| commit | 4f02cf32b43d725ebad8331cd0967b47597b29de (patch) | |
| tree | d3183ea2d413966ebfd8b756d2517b95baf8c759 /src/ir.cpp | |
| parent | 1afaf42525760edb78c287c216fda4aafc03d68f (diff) | |
| download | zig-4f02cf32b43d725ebad8331cd0967b47597b29de.tar.gz zig-4f02cf32b43d725ebad8331cd0967b47597b29de.zip | |
fix typeInfo tests
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index c3a9840ceb..8a750e6983 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -27910,11 +27910,10 @@ static IrInstGen *ir_analyze_instruction_fn_proto(IrAnalyze *ira, IrInstSrcFnPro if (cc == CallingConventionC) { break; - } else if (cc == CallingConventionUnspecified) { - lazy_fn_type->is_generic = true; - return result; } else { - zig_unreachable(); + ir_add_error(ira, &instruction->base.base, + buf_sprintf("var args only allowed in functions with C calling convention")); + return ira->codegen->invalid_inst_gen; } } @@ -30979,10 +30978,10 @@ static ZigType *ir_resolve_lazy_fn_type(IrAnalyze *ira, AstNode *source_node, La if (fn_type_id.cc == CallingConventionC) { fn_type_id.param_count = fn_type_id.next_param_index; break; - } else if (fn_type_id.cc == CallingConventionUnspecified) { - return get_generic_fn_type(ira->codegen, &fn_type_id); } else { - zig_unreachable(); + ir_add_error_node(ira, param_node, + buf_sprintf("var args only allowed in functions with C calling convention")); + return nullptr; } } FnTypeParamInfo *param_info = &fn_type_id.param_info[fn_type_id.next_param_index]; |
