aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-06-17 02:57:07 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-06-17 02:57:07 -0400
commit79120612267f55901029dd57290ee90c0a3ec987 (patch)
tree60a30197720ccd8152db8112d0c271a595e725cf /src/codegen.cpp
parent06a26f0965deff3d752da3d448b34872010d80f3 (diff)
downloadzig-79120612267f55901029dd57290ee90c0a3ec987.tar.gz
zig-79120612267f55901029dd57290ee90c0a3ec987.zip
remove integer and float casting syntax
* add `@intCast` * add `@floatCast` * add `@floatToInt` * add `@intToFloat` See #1061
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index 425cdac024..4108cbbd68 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -4722,6 +4722,10 @@ static LLVMValueRef ir_render_instruction(CodeGen *g, IrExecutable *executable,
case IrInstructionIdPromiseResultType:
case IrInstructionIdAwaitBookkeeping:
case IrInstructionIdAddImplicitReturnType:
+ case IrInstructionIdIntCast:
+ case IrInstructionIdFloatCast:
+ case IrInstructionIdIntToFloat:
+ case IrInstructionIdFloatToInt:
zig_unreachable();
case IrInstructionIdReturn:
@@ -6310,6 +6314,10 @@ static void define_builtin_fns(CodeGen *g) {
create_builtin_fn(g, BuiltinFnIdCmpxchgStrong, "cmpxchgStrong", 6);
create_builtin_fn(g, BuiltinFnIdFence, "fence", 1);
create_builtin_fn(g, BuiltinFnIdTruncate, "truncate", 2);
+ create_builtin_fn(g, BuiltinFnIdIntCast, "intCast", 2);
+ create_builtin_fn(g, BuiltinFnIdFloatCast, "floatCast", 2);
+ create_builtin_fn(g, BuiltinFnIdIntToFloat, "intToFloat", 2);
+ create_builtin_fn(g, BuiltinFnIdFloatToInt, "floatToInt", 2);
create_builtin_fn(g, BuiltinFnIdCompileErr, "compileError", 1);
create_builtin_fn(g, BuiltinFnIdCompileLog, "compileLog", SIZE_MAX);
create_builtin_fn(g, BuiltinFnIdIntType, "IntType", 2); // TODO rename to Int