Small bugfix with cast generation; updated onyx.vim
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Mon, 13 Jul 2020 15:11:21 +0000 (10:11 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Mon, 13 Jul 2020 15:11:21 +0000 (10:11 -0500)
misc/onyx.vim
onyx
src/onyxwasm.c

index 8edffc144de601d0b7be8574d9b9b328df71c30c..ca189a5e981c9acd10d78f804e6756a6f3bf4422 100644 (file)
@@ -16,11 +16,14 @@ syn keyword onyxKeyword for while loop return do
 syn keyword onyxKeyword break continue return
 syn keyword onyxKeyword as
 
-syn keyword onyxType unknown bool
+syn keyword onyxType unknown bool void
+syn keyword onyxType i8 u8
+syn keyword onyxType i16 u16
 syn keyword onyxType i32 u32
 syn keyword onyxType i64 u64
 syn keyword onyxType f32
 syn keyword onyxType f64
+syn keyword onyxType rawptr
 
 syn keyword onyxConstant        true false
 
diff --git a/onyx b/onyx
index 81422df31ffb49944d9171dd63d9fb1c0b3413c4..34f7c89e5d0ca9c8614a0ececba1f62a7cbf5ed7 100755 (executable)
Binary files a/onyx and b/onyx differ
index 9eb365a0fa787f3f3635092d2fd072bae3eb5b19..bac645d34f91081c53d5ed097773b58cb6bf5b2d 100644 (file)
@@ -703,7 +703,7 @@ static void compile_cast(OnyxWasmModule* mod, bh_arr(WasmInstruction)* pcode, As
     Type* to = cast->base.type;
 
     i32 fromidx = 0, toidx = 0;
-    if (from->Basic.flags & Basic_Flag_Numeric) {
+    if (from->Basic.flags & Basic_Flag_Integer) {
         b32 unsign = (from->Basic.flags & Basic_Flag_Unsigned) != 0;
 
         if (from->Basic.size == 4 && !unsign) fromidx = 0;
@@ -716,7 +716,7 @@ static void compile_cast(OnyxWasmModule* mod, bh_arr(WasmInstruction)* pcode, As
         else if (from->Basic.size == 8) fromidx = 5;
     }
 
-    if (to->Basic.flags & Basic_Flag_Numeric) {
+    if (to->Basic.flags & Basic_Flag_Integer) {
         b32 unsign = (to->Basic.flags & Basic_Flag_Unsigned) != 0;
 
         if (to->Basic.size == 4 && !unsign) toidx = 0;