mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-13 09:22:22 -07:00
30 lines
766 B
Odin
30 lines
766 B
Odin
//+build !windows
|
|
//+build !freestanding
|
|
package runtime
|
|
|
|
when ODIN_DEFAULT_TO_NIL_ALLOCATOR {
|
|
// mem.nil_allocator reimplementation
|
|
|
|
default_allocator_proc :: proc(allocator_data: rawptr, mode: Allocator_Mode,
|
|
size, alignment: int,
|
|
old_memory: rawptr, old_size: int, loc := #caller_location) -> ([]byte, Allocator_Error) {
|
|
return nil, .None
|
|
}
|
|
|
|
default_allocator :: proc() -> Allocator {
|
|
return Allocator{
|
|
procedure = default_allocator_proc,
|
|
data = nil,
|
|
}
|
|
}
|
|
} else {
|
|
// TODO(bill): reimplement these procedures in the os_specific stuff
|
|
import "core:os"
|
|
|
|
default_allocator_proc :: os.heap_allocator_proc
|
|
|
|
default_allocator :: proc() -> Allocator {
|
|
return os.heap_allocator()
|
|
}
|
|
}
|