aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2022-03-31 14:06:00 +0100
committerGitHub <noreply@github.com>2022-03-31 14:06:00 +0100
commit0c4f905d82cb24107f0ded804de2f72c1626a4bc (patch)
tree4cf145d06a711971497ee17236b4a849556da09e /src/types.cpp
parent9ea45d35db29e673e11af87cca1334a818a109d9 (diff)
parent77de7ebde590c08072a52568fb15378c1ca96770 (diff)
Merge pull request #1673 from odin-lang/new-sync
Brand New `package sync` and Atomics Intrinsics
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/types.cpp b/src/types.cpp
index b231218a2..e10dae1ed 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -692,6 +692,28 @@ gb_global Type *t_objc_id = nullptr;
gb_global Type *t_objc_SEL = nullptr;
gb_global Type *t_objc_Class = nullptr;
+enum OdinAtomicMemoryOrder : i32 {
+ OdinAtomicMemoryOrder_relaxed = 0, // unordered
+ OdinAtomicMemoryOrder_consume = 1, // monotonic
+ OdinAtomicMemoryOrder_acquire = 2,
+ OdinAtomicMemoryOrder_release = 3,
+ OdinAtomicMemoryOrder_acq_rel = 4,
+ OdinAtomicMemoryOrder_seq_cst = 5,
+ OdinAtomicMemoryOrder_COUNT,
+};
+
+char const *OdinAtomicMemoryOrder_strings[OdinAtomicMemoryOrder_COUNT] = {
+ "Relaxed",
+ "Consume",
+ "Acquire",
+ "Release",
+ "Acq_Rel",
+ "Seq_Cst",
+};
+
+gb_global Type *t_atomic_memory_order = nullptr;
+
+
gb_global RecursiveMutex g_type_mutex;