aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2020-04-18 10:51:08 +0300
committerVexu <git@vexu.eu>2020-04-18 11:39:52 +0300
commit4f02cf32b43d725ebad8331cd0967b47597b29de (patch)
treed3183ea2d413966ebfd8b756d2517b95baf8c759 /src/ir.cpp
parent1afaf42525760edb78c287c216fda4aafc03d68f (diff)
downloadzig-4f02cf32b43d725ebad8331cd0967b47597b29de.tar.gz
zig-4f02cf32b43d725ebad8331cd0967b47597b29de.zip
fix typeInfo tests
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp13
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];