From 57c6e43346937c74587be09e6209b92d13524702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven=20Dee=20=28J=C5=8Dshin=29?= Date: Sat, 31 Aug 2024 16:19:51 -0700 Subject: [PATCH] Use unsigned-signed conversion for refs test --- ctl/shared_ptr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ctl/shared_ptr.h b/ctl/shared_ptr.h index 40e7a1a7d..f673d8aa7 100644 --- a/ctl/shared_ptr.h +++ b/ctl/shared_ptr.h @@ -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 }