diff --git a/ide/vs2022/mimalloc-lib.vcxproj b/ide/vs2022/mimalloc-lib.vcxproj
index abdac1d1..95b516ec 100644
--- a/ide/vs2022/mimalloc-lib.vcxproj
+++ b/ide/vs2022/mimalloc-lib.vcxproj
@@ -308,7 +308,7 @@
false
false
Default
- CompileAsCpp
+ CompileAsC
true
stdcpp20
diff --git a/include/mimalloc/atomic.h b/include/mimalloc/atomic.h
index 6eaa6f99..2984f50f 100644
--- a/include/mimalloc/atomic.h
+++ b/include/mimalloc/atomic.h
@@ -266,6 +266,13 @@ static inline int64_t mi_atomic_addi64_relaxed(volatile _Atomic(int64_t)*p, int6
return current;
#endif
}
+static inline void mi_atomic_void_addi64_relaxed(volatile int64_t* p, const volatile int64_t* padd) {
+ const int64_t add = *padd;
+ if (add != 0) {
+ mi_atomic_addi64_relaxed((volatile _Atomic(int64_t)*)p, add);
+ }
+}
+
static inline void mi_atomic_maxi64_relaxed(volatile _Atomic(int64_t)*p, int64_t x) {
int64_t current;
do {