From ba603c12388754a59fe1e1244dcaef13a9221b67 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 28 Jan 2022 20:56:26 -0600 Subject: [PATCH] bugfixes with bad chars in errors and simd --- core/intrinsics/simd.onyx | 2 +- src/checker.c | 4 ++-- src/errors.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/intrinsics/simd.onyx b/core/intrinsics/simd.onyx index adf65f53..e052e701 100644 --- a/core/intrinsics/simd.onyx +++ b/core/intrinsics/simd.onyx @@ -1,6 +1,6 @@ package core.intrinsics.simd -simd :: package simd +#local simd :: package simd i8x16 :: #type simd.i8x16 i16x8 :: #type simd.i16x8 diff --git a/src/checker.c b/src/checker.c index 6d944690..c5231b89 100644 --- a/src/checker.c +++ b/src/checker.c @@ -1054,8 +1054,8 @@ CheckStatus check_binaryop(AstBinaryOp** pbinop) { } // NOTE: Try operator overloading before checking everything else. - if ((binop->left->type != NULL && binop->left->type->kind != Type_Kind_Basic) - || (binop->right->type != NULL && binop->right->type->kind != Type_Kind_Basic)) { + if ((binop->left->type != NULL && (binop->left->type->kind != Type_Kind_Basic || (binop->left->type->Basic.flags & Basic_Flag_SIMD) != 0)) + || (binop->right->type != NULL && (binop->right->type->kind != Type_Kind_Basic || (binop->right->type->Basic.flags & Basic_Flag_SIMD) != 0))) { AstCall *implicit_call = binaryop_try_operator_overload(binop, NULL); if (implicit_call == (AstCall *) &node_that_signals_a_yield) diff --git a/src/errors.c b/src/errors.c index 6fdf2806..f6811ca6 100644 --- a/src/errors.c +++ b/src/errors.c @@ -32,7 +32,7 @@ static void print_detailed_message(OnyxError* err, bh_file_contents* fc) { bh_printf("%b\n", err->pos.line_start, linelength); char* pointer_str = bh_alloc_array(global_scratch_allocator, char, linelength + numlen); - memset(pointer_str, ' ', numlen); + memset(pointer_str, ' ', linelength + numlen); memcpy(pointer_str + numlen - 1, err->pos.line_start, first_char); memset(pointer_str + first_char + numlen - 1, ' ', err->pos.column - first_char); memset(pointer_str + err->pos.column + numlen - 1, '~', err->pos.length - 1); -- 2.25.1