mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 14:18:47 +00:00
Add require_results attr to procs returning an allocator
This commit is contained in:
@@ -23,6 +23,7 @@ nil_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
|
|||||||
return nil, .None
|
return nil, .None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
nil_allocator :: proc "contextless" () -> Allocator {
|
nil_allocator :: proc "contextless" () -> Allocator {
|
||||||
return Allocator{
|
return Allocator{
|
||||||
procedure = nil_allocator_proc,
|
procedure = nil_allocator_proc,
|
||||||
@@ -72,6 +73,7 @@ panic_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
panic_allocator :: proc() -> Allocator {
|
panic_allocator :: proc() -> Allocator {
|
||||||
return Allocator{
|
return Allocator{
|
||||||
procedure = panic_allocator_proc,
|
procedure = panic_allocator_proc,
|
||||||
|
|||||||
@@ -187,6 +187,7 @@ arena_destroy :: proc "contextless" (arena: ^Arena, loc := #caller_location) {
|
|||||||
arena.total_capacity = 0
|
arena.total_capacity = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
arena_allocator :: proc(arena: ^Arena) -> Allocator {
|
arena_allocator :: proc(arena: ^Arena) -> Allocator {
|
||||||
return Allocator{arena_allocator_proc, arena}
|
return Allocator{arena_allocator_proc, arena}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
default_temp_allocator :: proc(allocator: ^Default_Temp_Allocator) -> Allocator {
|
||||||
return Allocator{
|
return Allocator{
|
||||||
procedure = default_temp_allocator_proc,
|
procedure = default_temp_allocator_proc,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package runtime
|
|||||||
|
|
||||||
import "base:intrinsics"
|
import "base:intrinsics"
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
heap_allocator :: proc() -> Allocator {
|
heap_allocator :: proc() -> Allocator {
|
||||||
return Allocator{
|
return Allocator{
|
||||||
procedure = heap_allocator_proc,
|
procedure = heap_allocator_proc,
|
||||||
|
|||||||
@@ -89,10 +89,12 @@ wasm_allocator_init :: proc(a: ^WASM_Allocator, alignment: uint = 8) {
|
|||||||
|
|
||||||
global_default_wasm_allocator_data: WASM_Allocator
|
global_default_wasm_allocator_data: WASM_Allocator
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
default_wasm_allocator :: proc() -> Allocator {
|
default_wasm_allocator :: proc() -> Allocator {
|
||||||
return wasm_allocator(&global_default_wasm_allocator_data)
|
return wasm_allocator(&global_default_wasm_allocator_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
wasm_allocator :: proc(a: ^WASM_Allocator) -> Allocator {
|
wasm_allocator :: proc(a: ^WASM_Allocator) -> Allocator {
|
||||||
return {
|
return {
|
||||||
data = a,
|
data = a,
|
||||||
|
|||||||
@@ -2436,6 +2436,7 @@ compat_allocator_init :: proc(rra: ^Compat_Allocator, allocator := context.alloc
|
|||||||
rra.parent = allocator
|
rra.parent = allocator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(require_results)
|
||||||
compat_allocator :: proc(rra: ^Compat_Allocator) -> Allocator {
|
compat_allocator :: proc(rra: ^Compat_Allocator) -> Allocator {
|
||||||
return Allocator{
|
return Allocator{
|
||||||
data = rra,
|
data = rra,
|
||||||
|
|||||||
Reference in New Issue
Block a user