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 #ifdef NDEBUG
__atomic_fetch_add(r, 1, __ATOMIC_RELAXED); __atomic_fetch_add(r, 1, __ATOMIC_RELAXED);
#else #else
size_t refs = __atomic_fetch_add(r, 1, __ATOMIC_RELAXED); ssize_t refs = __atomic_fetch_add(r, 1, __ATOMIC_RELAXED);
if (refs > ((size_t)-1) >> 1) if (refs < 0)
__builtin_trap(); __builtin_trap();
#endif #endif
} }