diff options
Diffstat (limited to 'src/stage1')
| -rw-r--r-- | src/stage1/astgen.cpp | 6 | ||||
| -rw-r--r-- | src/stage1/codegen.cpp | 10 |
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); |
