bugfixes with package using
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 1 Jul 2022 18:16:22 +0000 (13:16 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 1 Jul 2022 18:16:22 +0000 (13:16 -0500)
src/symres.c
src/utils.c
src/wasm_output.h

index 83e6da511ffcab751b8ea67ceadf72aac211f0ce..2d4db285b2b04ae9d77bfa650555b8bd97b5b2e7 100644 (file)
@@ -768,8 +768,11 @@ static SymresStatus symres_use(AstUse* use) {
             }
         }
 
-        package_track_use_package(package->package, use->entity);
+        if (!use->entity) {
+            add_entities_for_node(NULL, (AstNode *) use, curr_scope, NULL);
+        }
 
+        package_track_use_package(package->package, use->entity);
         return Symres_Success;
     }
 
index 27802c51e76127d0d774d3d358d4fcdbf45ed285..3036aab91a28d4b06bf4a1ddeab4bbd14ab9044c 100644 (file)
@@ -58,6 +58,8 @@ Package* package_lookup_or_create(char* package_name, Scope* parent_scope, bh_al
 }
 
 void package_track_use_package(Package* package, Entity* entity) {
+    assert(entity);
+
     if (package->use_package_entities == NULL) {
         bh_arr_new(global_heap_allocator, package->use_package_entities, 4);
     }
index 231937d5bc2487504acb48f4418996858107d371..adf4e274959af361a87cb2c0718d138a6ba257c4 100644 (file)
@@ -141,7 +141,7 @@ static i32 output_funcsection(OnyxWasmModule* module, bh_buffer* buff) {
 }
 
 static i32 output_tablesection(OnyxWasmModule* module, bh_buffer* buff) {
-    if (bh_arr_length(module->elems) == 0) return 0;
+    // if (bh_arr_length(module->elems) == 0) return 0;
 
     i32 prev_len = buff->length;
     bh_buffer_write_byte(buff, WASM_SECTION_ID_TABLE);