intrinsics.atomic_type_is_lock_free

This commit is contained in:
gingerBill
2022-04-02 14:38:42 +01:00
parent c3a292a8c7
commit a232c0888c
7 changed files with 50 additions and 5 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ atomic_signal_fence :: #force_inline proc(order: memory_order) {
// 7.17.5 Lock-free property
atomic_is_lock_free :: #force_inline proc(obj: ^$T) -> bool {
return size_of(T) <= 8 && (intrinsics.type_is_integer(T) || intrinsics.type_is_pointer(T))
return intrinsics.atomic_type_is_lock_free(T)
}
// 7.17.6 Atomic integer types
+2
View File
@@ -71,6 +71,8 @@ Atomic_Memory_Order :: enum {
Seq_Cst = 5,
}
atomic_type_is_lock_free :: proc($T: typeid) -> bool ---
atomic_thread_fence :: proc(order: Atomic_Memory_Order) ---
atomic_signal_fence :: proc(order: Atomic_Memory_Order) ---