small bugfix that makes inferred struct member types more useful
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 29 Jan 2021 16:47:19 +0000 (10:47 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 29 Jan 2021 16:47:19 +0000 (10:47 -0600)
bin/onyx
onyx.exe
src/onyxsymres.c

index 3d0a779db8676c84ce462bf0c2cf798da983d6d0..864a538d8e8e7cd5dfab3fbabf4ac2fffe07e1e8 100755 (executable)
Binary files a/bin/onyx and b/bin/onyx differ
index ba6ded1d76b2bd0a830ca19b15e2e3cceae098c8..8ef49cd8a7413282c5fbf49ea4fbc0202955e959 100644 (file)
Binary files a/onyx.exe and b/onyx.exe differ
index ce4b59fba33ac83815cec38c43db2717654264e6..cedba6232e6c5f82425dc595a4dfcba9347d429e 100644 (file)
@@ -898,6 +898,10 @@ static void symres_struct_defaults(AstType* t) {
     bh_arr_each(AstStructMember *, smem, st->members) {
         if ((*smem)->initial_value != NULL) {
             symres_expression(&(*smem)->initial_value);
+            
+            if ((*smem)->type_node == NULL && (*smem)->initial_value->type_node != NULL) {
+                (*smem)->type_node = (*smem)->initial_value->type_node;
+            }
         }
     }