Small bugfixes
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 28 Jul 2020 18:29:30 +0000 (13:29 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 28 Jul 2020 18:29:30 +0000 (13:29 -0500)
onyx
src/onyxparser.c
src/onyxsymres.c

diff --git a/onyx b/onyx
index 1174de4dbc1e2531fa922417313c7b2ce972e4cf..aa0c500c5c352a22e519fb53040b201c67f25efe 100755 (executable)
Binary files a/onyx and b/onyx differ
index ea134310565195c2828a2baf1a8347d744a12c89..fe58c454b588f151831b74ab38b5f31a3be722ae 100644 (file)
@@ -382,6 +382,9 @@ static inline i32 get_precedence(BinaryOp kind) {
         case Binary_Op_And:             return 5;
         case Binary_Op_Or:              return 5;
         case Binary_Op_Xor:             return 5;
+        case Binary_Op_Shl:             return 5;
+        case Binary_Op_Shr:             return 5;
+        case Binary_Op_Sar:             return 5;
 
         case Binary_Op_Add:             return 6;
         case Binary_Op_Minus:           return 6;
index a2bb30973793e194ba7ddd663428e1a52e096c00..cd04a31fa8fad7aa1560ec921765d5ba65005a10 100644 (file)
@@ -489,7 +489,7 @@ static void symres_memres(AstMemRes** memres) {
     (*memres)->type_node = symres_type((*memres)->type_node);
     (*memres)->type = type_build_from_ast(semstate.allocator, (*memres)->type_node);
 
-    if ((*memres)->type->kind != Type_Kind_Array) {
+    if ((*memres)->type->kind != Type_Kind_Array && (*memres)->type->kind != Type_Kind_Struct) {
         Type* ptr_type = type_make_pointer(semstate.allocator, (*memres)->type);
         (*memres)->type = ptr_type;