summaryrefslogtreecommitdiff
path: root/debian/patches/0001-include-use-unsigned-literal-in-combination-with-bin.patch
blob: 29fb7f94c8f7c9c8c7d7d4339d9109d59c0e710c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From 027bc17eca80bd379663e645aa9a7c59573bf0de Mon Sep 17 00:00:00 2001
From: Justus Winter <4winter@informatik.uni-hamburg.de>
Date: Fri, 6 Jun 2014 10:20:47 +0200
Subject: [PATCH 1/9] include: use unsigned literal in combination with binary
 not

* include/refcount.h (refcounts_promote): Use ~0U.
(refcounts_demote): Likewise.
---
 include/refcount.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/refcount.h b/include/refcount.h
index 5c3302d..785b052 100644
--- a/include/refcount.h
+++ b/include/refcount.h
@@ -160,7 +160,7 @@ refcounts_promote (refcounts_t *ref, struct references *result)
      So we just add a hard reference.  In combination, this is the
      desired operation.  */
   const union _references op =
-    { .references = { .weak = ~0, .hard = 1} };
+    { .references = { .weak = ~0U, .hard = 1} };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert (r.references.hard != UINT32_MAX || !"refcount overflowed!");
@@ -188,7 +188,7 @@ refcounts_demote (refcounts_t *ref, struct references *result)
      significant bits.  When we add ~0 to the hard references, it will
      overflow into the weak references.  This is the desired
      operation.  */
-  const union _references op = { .references = { .hard = ~0 } };
+  const union _references op = { .references = { .hard = ~0U } };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert (r.references.hard != UINT32_MAX || !"refcount underflowed!");
-- 
2.0.0.rc2