Use unsigned-signed conversion for refs test

This commit is contained in:
Steven Dee (Jōshin) 2024-08-31 16:19:51 -07:00
parent e1528a71e2
commit 57c6e43346
No known key found for this signature in database

View file

@ -43,8 +43,8 @@ incref(size_t* r) noexcept
#ifdef NDEBUG
__atomic_fetch_add(r, 1, __ATOMIC_RELAXED);
#else
size_t refs = __atomic_fetch_add(r, 1, __ATOMIC_RELAXED);
if (refs > ((size_t)-1) >> 1)
ssize_t refs = __atomic_fetch_add(r, 1, __ATOMIC_RELAXED);
if (refs < 0)
__builtin_trap();
#endif
}