瀏覽代碼

Fix `delete_map`

gingerBill 4 年之前
父節點
當前提交
415379e1cf
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      core/mem/alloc.odin
  2. 1 1
      core/runtime/core_builtin.odin

+ 1 - 1
core/mem/alloc.odin

@@ -118,7 +118,7 @@ delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #cal
 }
 }
 delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) {
 delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) {
 	raw := transmute(Raw_Map)m;
 	raw := transmute(Raw_Map)m;
-	delete_slice(raw.hashes);
+	delete_slice(raw.hashes, raw.entries.allocator, loc);
 	free(raw.entries.data, raw.entries.allocator, loc);
 	free(raw.entries.data, raw.entries.allocator, loc);
 }
 }
 
 

+ 1 - 1
core/runtime/core_builtin.odin

@@ -145,7 +145,7 @@ delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #cal
 @builtin
 @builtin
 delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) {
 delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) {
 	raw := transmute(Raw_Map)m;
 	raw := transmute(Raw_Map)m;
-	delete_slice(raw.hashes);
+	delete_slice(raw.hashes, raw.entries.allocator, loc);
 	mem_free(raw.entries.data, raw.entries.allocator, loc);
 	mem_free(raw.entries.data, raw.entries.allocator, loc);
 }
 }