From 389d565d46d2b7a6af38a62489c4084469db0109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven=20Dee=20=28J=C5=8Dshin=29?= Date: Sun, 1 Sep 2024 16:45:11 -0400 Subject: [PATCH] Use unsigned-signed conversion for refs test (#1272) --- 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 e85429c48..019d6fb29 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 }