2
0
Эх сурвалжийг харах

Add require_results attr to procs returning an allocator

Damian Tarnawski 1 долоо хоног өмнө
parent
commit
21fd7c200e

+ 2 - 0
base/runtime/default_allocators_nil.odin

@@ -23,6 +23,7 @@ nil_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
 	return nil, .None
 }
 
+@(require_results)
 nil_allocator :: proc "contextless" () -> Allocator {
 	return Allocator{
 		procedure = nil_allocator_proc,
@@ -72,6 +73,7 @@ panic_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
 	return nil, nil
 }
 
+@(require_results)
 panic_allocator :: proc() -> Allocator {
 	return Allocator{
 		procedure = panic_allocator_proc,

+ 1 - 0
base/runtime/default_temp_allocator_arena.odin

@@ -187,6 +187,7 @@ arena_destroy :: proc "contextless" (arena: ^Arena, loc := #caller_location) {
 	arena.total_capacity = 0
 }
 
+@(require_results)
 arena_allocator :: proc(arena: ^Arena) -> Allocator {
 	return Allocator{arena_allocator_proc, arena}
 }

+ 1 - 1
base/runtime/default_temporary_allocator.odin

@@ -70,7 +70,7 @@ DEFAULT_TEMP_ALLOCATOR_TEMP_GUARD :: #force_inline proc(ignore := false, loc :=
 	}
 }
 
-
+@(require_results)
 default_temp_allocator :: proc(allocator: ^Default_Temp_Allocator) -> Allocator {
 	return Allocator{
 		procedure = default_temp_allocator_proc,

+ 1 - 0
base/runtime/heap_allocator.odin

@@ -2,6 +2,7 @@ package runtime
 
 import "base:intrinsics"
 
+@(require_results)
 heap_allocator :: proc() -> Allocator {
 	return Allocator{
 		procedure = heap_allocator_proc,

+ 2 - 0
base/runtime/wasm_allocator.odin

@@ -89,10 +89,12 @@ wasm_allocator_init :: proc(a: ^WASM_Allocator, alignment: uint = 8) {
 
 global_default_wasm_allocator_data: WASM_Allocator
 
+@(require_results)
 default_wasm_allocator :: proc() -> Allocator {
 	return wasm_allocator(&global_default_wasm_allocator_data)
 }
 
+@(require_results)
 wasm_allocator :: proc(a: ^WASM_Allocator) -> Allocator {
 	return {
 		data      = a,

+ 1 - 0
core/mem/allocators.odin

@@ -2436,6 +2436,7 @@ compat_allocator_init :: proc(rra: ^Compat_Allocator, allocator := context.alloc
 	rra.parent = allocator
 }
 
+@(require_results)
 compat_allocator :: proc(rra: ^Compat_Allocator) -> Allocator {
 	return Allocator{
 		data      = rra,