aboutsummaryrefslogtreecommitdiff
path: root/src/stage1
diff options
context:
space:
mode:
Diffstat (limited to 'src/stage1')
-rw-r--r--src/stage1/astgen.cpp6
-rw-r--r--src/stage1/codegen.cpp10
2 files changed, 7 insertions, 9 deletions
diff --git a/src/stage1/astgen.cpp b/src/stage1/astgen.cpp
index 367bed69cf..54d9c969a5 100644
--- a/src/stage1/astgen.cpp
+++ b/src/stage1/astgen.cpp
@@ -5374,10 +5374,8 @@ static Stage1ZirInst *astgen_builtin_fn_call(Stage1AstGen *ag, Scope *scope, Ast
if (arg0_value == ag->codegen->invalid_inst_src)
return arg0_value;
- AstNode *arg1_node = node->data.fn_call_expr.params.at(1);
- Stage1ZirInst *arg1_value = astgen_node(ag, arg1_node, scope);
- if (arg1_value == ag->codegen->invalid_inst_src)
- return arg1_value;
+ Stage1ZirInst *arg1_value = arg0_value;
+ arg0_value = ir_build_typeof_1(ag, scope, arg0_node, arg1_value);
Stage1ZirInst *result;
switch (builtin_fn->id) {
diff --git a/src/stage1/codegen.cpp b/src/stage1/codegen.cpp
index d4a09f7968..cc6c0f22a7 100644
--- a/src/stage1/codegen.cpp
+++ b/src/stage1/codegen.cpp
@@ -9792,11 +9792,11 @@ static void define_builtin_fns(CodeGen *g) {
create_builtin_fn(g, BuiltinFnIdCInclude, "cInclude", 1);
create_builtin_fn(g, BuiltinFnIdCDefine, "cDefine", 2);
create_builtin_fn(g, BuiltinFnIdCUndef, "cUndef", 1);
- create_builtin_fn(g, BuiltinFnIdCtz, "ctz", 2);
- create_builtin_fn(g, BuiltinFnIdClz, "clz", 2);
- create_builtin_fn(g, BuiltinFnIdPopCount, "popCount", 2);
- create_builtin_fn(g, BuiltinFnIdBswap, "byteSwap", 2);
- create_builtin_fn(g, BuiltinFnIdBitReverse, "bitReverse", 2);
+ create_builtin_fn(g, BuiltinFnIdCtz, "ctz", 1);
+ create_builtin_fn(g, BuiltinFnIdClz, "clz", 1);
+ create_builtin_fn(g, BuiltinFnIdPopCount, "popCount", 1);
+ create_builtin_fn(g, BuiltinFnIdBswap, "byteSwap", 1);
+ create_builtin_fn(g, BuiltinFnIdBitReverse, "bitReverse", 1);
create_builtin_fn(g, BuiltinFnIdImport, "import", 1);
create_builtin_fn(g, BuiltinFnIdCImport, "cImport", 1);
create_builtin_fn(g, BuiltinFnIdErrName, "errorName", 1);