bugfix: debugging broke when using multi-pointers feature/multi-pointers
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 24 Mar 2023 00:28:59 +0000 (19:28 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Fri, 24 Mar 2023 00:28:59 +0000 (19:28 -0500)
compiler/src/wasm_output.h

index 2692febbbd34b85c231bcc1b4503dfa690ffc993..2500b343eb99f91b94bf8b21f47df4042f8e6f62 100644 (file)
@@ -940,6 +940,14 @@ static i32 output_ovm_debug_sections(OnyxWasmModule* module, bh_buffer* buff) {
                 continue; 
             }
 
+            // In the debug info, multi-pointers are just pointers.
+            if (type->kind == Type_Kind_MultiPointer) {
+                output_unsigned_integer(2, &section_buff);
+                output_unsigned_integer(1, &section_buff);
+                output_unsigned_integer(type->Pointer.elem->id, &section_buff);
+                continue; 
+            }
+
             if (type->kind == Type_Kind_Enum) {
                 output_unsigned_integer(8, &section_buff);
                 output_unsigned_integer(type->Enum.backing->id, &section_buff);