From 7d9be661da240ac15a1b4e89558c311a883677c5 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 23 Jun 2021 22:20:17 -0500 Subject: [PATCH] added missing type info; constrained type_expr operations --- bin/onyx | Bin 414560 -> 414560 bytes core/type_info/helper.onyx | 4 +++- core/type_info/type_info.onyx | 7 ++++++- src/onyxchecker.c | 18 +++++++++--------- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/bin/onyx b/bin/onyx index 13c8473badc8520beddc62cf0d497c7fda37bf20..f7c894b32b61703c45e0c236eafec35fa17a0064 100755 GIT binary patch delta 69550 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 diff --git a/core/type_info/helper.onyx b/core/type_info/helper.onyx index 5dd1f860..d85a476d 100644 --- a/core/type_info/helper.onyx +++ b/core/type_info/helper.onyx @@ -35,7 +35,9 @@ write_type_name :: (writer: ^io.Writer, t: type_expr) { case .F64X2 do return io.write_str(writer, "f64x2"); case .V128 do return io.write_str(writer, "v128"); - case .Type_Index do return io.write_str(writer, "type_expr"); + case .Type_Index do io.write_str(writer, "type_expr"); + case .Unsized_Int do io.write_str(writer, ""); + case .Unsized_Float do io.write_str(writer, ""); } } diff --git a/core/type_info/type_info.onyx b/core/type_info/type_info.onyx index 13b8c0c4..8c26dd27 100644 --- a/core/type_info/type_info.onyx +++ b/core/type_info/type_info.onyx @@ -35,6 +35,8 @@ Type_Info_Basic :: struct { Kind :: enum { Void :: 0x00; Bool :: 0x01; + + Unsized_Int :: 0x02; I8 :: 0x03; U8 :: 0x04; I16 :: 0x05; @@ -44,6 +46,7 @@ Type_Info_Basic :: struct { I64 :: 0x09; U64 :: 0x0a; + Unsized_Float :: 0x0b; F32 :: 0x0c; F64 :: 0x0d; @@ -147,7 +150,9 @@ Type_Info_Compound :: struct { } get_type_info :: (t: type_expr) -> ^Type_Info { - if t < ~~0 || t >= ~~type_table.count do return null; + // Grossness to get around the fact that type_exprs are not technically comparable, because in most + // cases you should not compare them as the number assigned to them is arbitrary. + if ~~t < cast(i32) 0 || ~~t >= cast(i32) type_table.count do return null; return type_table[cast(i32) t]; } diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 9f953de9..bb46103b 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -811,9 +811,10 @@ static b32 binary_op_is_allowed(BinaryOp operation, Type* type) { enum BasicFlag effective_flags = 0; switch (type->kind) { - case Type_Kind_Basic: effective_flags = type->Basic.flags; break; - case Type_Kind_Pointer: effective_flags = Basic_Flag_Pointer; break; - case Type_Kind_Enum: effective_flags = Basic_Flag_Integer; break; + case Type_Kind_Basic: effective_flags = type->Basic.flags; break; + case Type_Kind_Pointer: effective_flags = Basic_Flag_Pointer; break; + case Type_Kind_Enum: effective_flags = Basic_Flag_Integer; break; + case Type_Kind_Function: effective_flags = Basic_Flag_Equality; break; } return (binop_allowed[operation] & effective_flags) != 0; @@ -822,12 +823,6 @@ static b32 binary_op_is_allowed(BinaryOp operation, Type* type) { CheckStatus check_binaryop_compare(AstBinaryOp** pbinop) { AstBinaryOp* binop = *pbinop; - if ( type_is_structlike_strict(binop->left->type) - || type_is_structlike_strict(binop->right->type)) { - report_bad_binaryop(binop); - return Check_Error; - } - // HACK: Since ^... to rawptr is a one way conversion, strip any pointers // away so they can be compared as expected Type* ltype = binop->left->type; @@ -855,6 +850,11 @@ CheckStatus check_binaryop_compare(AstBinaryOp** pbinop) { } } + if (!binary_op_is_allowed(binop->operation, binop->left->type)) { + report_bad_binaryop(binop); + return Check_Error; + } + binop->type = &basic_types[Basic_Kind_Bool]; if (binop->flags & Ast_Flag_Comptime) { // NOTE: Not a binary op -- 2.25.1