1 |
commit: 7e8590b6f6294628cefcd76f7b946710a1a4a05b |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 3 22:07:03 2017 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 3 22:08:47 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e8590b6 |
7 |
|
8 |
dev-haskell/bits-atomic: move 30K patch over to DISTDIR, bug #620554 |
9 |
|
10 |
Reported-by: Michał Górny |
11 |
Bug: https://bugs.gentoo.org/620554 |
12 |
Package-Manager: Portage-2.3.6, Repoman-2.3.2 |
13 |
|
14 |
dev-haskell/bits-atomic/Manifest | 1 + |
15 |
.../bits-atomic/bits-atomic-0.1.3-r1.ebuild | 7 +- |
16 |
.../files/bits-atomic-0.1.3-gcc-5.patch | 610 --------------------- |
17 |
3 files changed, 5 insertions(+), 613 deletions(-) |
18 |
|
19 |
diff --git a/dev-haskell/bits-atomic/Manifest b/dev-haskell/bits-atomic/Manifest |
20 |
index 9c9e96e1f9f..2a704770099 100644 |
21 |
--- a/dev-haskell/bits-atomic/Manifest |
22 |
+++ b/dev-haskell/bits-atomic/Manifest |
23 |
@@ -1 +1,2 @@ |
24 |
+DIST bits-atomic-0.1.3-gcc-5.patch 30907 SHA256 36fc94f29e45c5df056ffaae6b049f727ffeb6bff3463752f656aeffb027cd89 SHA512 0a40015f225325db3716ac0a17e33eef3f2042b72f933000a52734b103ea3e316a0242a0b75c90a31d0d4c31d33da8d32b07f7c067d79ade51df66ea75a3b19c WHIRLPOOL fe8c13afbfac29d80dc11adb1269bca47f2f241778c8b8ea67516194e90a48059e946d246e0432fdf5cc091a8e8646d9a12e643fd18bc8870523d79b9ed333e1 |
25 |
DIST bits-atomic-0.1.3.tar.gz 7982 SHA256 e0ac3456cf0338e1d5ed33f4c3c6b932d652add2ac827c6a1b6636c6e754cb8d SHA512 e13c21c81ebc6cce2f85a184a572eb1647439f605985a8344ff219cc685c7d0adcf5d2433ea75fa1560a807e329cab23b548435adc0087e6294417eb7a65fbf1 WHIRLPOOL 3c15101610d87f202b910c60f9b875623661872bc91c8ae084e720f94633392b1338df3ee9d8eb3bd104e3c9c0d7dd949ead3a8f28be65e6a9f6458fda620a08 |
26 |
|
27 |
diff --git a/dev-haskell/bits-atomic/bits-atomic-0.1.3-r1.ebuild b/dev-haskell/bits-atomic/bits-atomic-0.1.3-r1.ebuild |
28 |
index e29ee53ddae..59e62513134 100644 |
29 |
--- a/dev-haskell/bits-atomic/bits-atomic-0.1.3-r1.ebuild |
30 |
+++ b/dev-haskell/bits-atomic/bits-atomic-0.1.3-r1.ebuild |
31 |
@@ -1,4 +1,4 @@ |
32 |
-# Copyright 1999-2016 Gentoo Foundation |
33 |
+# Copyright 1999-2017 Gentoo Foundation |
34 |
# Distributed under the terms of the GNU General Public License v2 |
35 |
|
36 |
EAPI=5 |
37 |
@@ -10,7 +10,8 @@ inherit haskell-cabal |
38 |
|
39 |
DESCRIPTION="Atomic bit operations on memory locations for low-level synchronization" |
40 |
HOMEPAGE="http://hackage.haskell.org/package/bits-atomic" |
41 |
-SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" |
42 |
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz |
43 |
+ https://dev.gentoo.org/~slyfox/patches/${P}-gcc-5.patch" |
44 |
|
45 |
LICENSE="BSD" |
46 |
SLOT="0/${PV}" |
47 |
@@ -29,6 +30,6 @@ DEPEND="${RDEPEND} |
48 |
" |
49 |
|
50 |
src_prepare() { |
51 |
- epatch "${FILESDIR}"/${P}-gcc-5.patch |
52 |
+ epatch "${DISTDIR}"/${P}-gcc-5.patch |
53 |
epatch "${FILESDIR}"/${P}-ghc-8.patch |
54 |
} |
55 |
|
56 |
diff --git a/dev-haskell/bits-atomic/files/bits-atomic-0.1.3-gcc-5.patch b/dev-haskell/bits-atomic/files/bits-atomic-0.1.3-gcc-5.patch |
57 |
deleted file mode 100644 |
58 |
index a500862f618..00000000000 |
59 |
--- a/dev-haskell/bits-atomic/files/bits-atomic-0.1.3-gcc-5.patch |
60 |
+++ /dev/null |
61 |
@@ -1,610 +0,0 @@ |
62 |
-diff --git a/Setup.hs b/Setup.hs |
63 |
-index 46f5022..36c3aa9 100644 |
64 |
---- a/Setup.hs |
65 |
-+++ b/Setup.hs |
66 |
-@@ -1,19 +1,7 @@ |
67 |
--{-# LANGUAGE CPP #-} |
68 |
--import Distribution.Simple |
69 |
--import Distribution.PackageDescription |
70 |
--import Distribution.Simple.LocalBuildInfo(LocalBuildInfo, buildDir) |
71 |
--import System.Cmd(system) |
72 |
-- |
73 |
--ps :: String |
74 |
--#if mingw32_HOST_OS || mingw32_TARGET_OS |
75 |
--ps = ['\\'] |
76 |
--#else |
77 |
--ps = ['/'] |
78 |
--#endif |
79 |
-+#!/usr/bin/runhaskell |
80 |
-+module Main where |
81 |
- |
82 |
--main = defaultMainWithHooks hooks |
83 |
-- where hooks = simpleUserHooks { runTests = runTests' } |
84 |
-+import Distribution.Simple |
85 |
- |
86 |
--runTests' :: Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO () |
87 |
--runTests' _ _ _ lbi = system testprog >> return () |
88 |
-- where testprog = (buildDir lbi) ++ ps ++ "test" ++ ps ++ "test" |
89 |
-+main :: IO () |
90 |
-+main = defaultMain |
91 |
-diff --git a/bits-atomic.cabal b/bits-atomic.cabal |
92 |
-index 68da7f7..97b513f 100644 |
93 |
---- a/bits-atomic.cabal |
94 |
-+++ b/bits-atomic.cabal |
95 |
-@@ -43,3 +43,3 @@ Stability: experimental |
96 |
- Build-Type: Custom |
97 |
--Cabal-Version: >= 1.6 |
98 |
-+Cabal-Version: >= 1.8 |
99 |
- Extra-Source-Files: cbits/atomic-bitops-gcc.c cbits/atomic-bitops-gcc.h |
100 |
-@@ -64,11 +64,6 @@ library |
101 |
- |
102 |
--flag test |
103 |
-- description: Build test program. |
104 |
-- default: False |
105 |
-- |
106 |
--Executable test |
107 |
-- if flag(test) |
108 |
-- buildable: True |
109 |
-- build-depends: |
110 |
-- base >= 4 && < 6, |
111 |
-+test-suite test |
112 |
-+ Type: exitcode-stdio-1.0 |
113 |
-+ build-depends: bits-atomic, |
114 |
-+ base >= 4 && < 6, |
115 |
- QuickCheck, |
116 |
-@@ -78,6 +73,4 @@ Executable test |
117 |
- test-framework |
118 |
-- else |
119 |
-- buildable: False |
120 |
-- hs-source-dirs: ., test |
121 |
-- other-modules: Data.Bits.Atomic |
122 |
-+ |
123 |
-+ hs-source-dirs: test |
124 |
- main-is: test.hs |
125 |
-@@ -85,4 +78 @@ Executable test |
126 |
- GHC-Prof-Options: -auto-all |
127 |
-- |
128 |
-- Include-Dirs: cbits |
129 |
-- C-Sources: cbits/atomic-bitops-gcc.c |
130 |
-diff --git a/cbits/atomic-bitops-gcc.c b/cbits/atomic-bitops-gcc.c |
131 |
-index 3f9d4ef..96ed076 100644 |
132 |
---- a/cbits/atomic-bitops-gcc.c |
133 |
-+++ b/cbits/atomic-bitops-gcc.c |
134 |
-@@ -5,39 +5,39 @@ void mem_barrier (void) {return __sync_synchronize ();} |
135 |
- /* 8-bit */ |
136 |
--inline unsigned char fetch_and_add_8 (unsigned char *p, unsigned char v) { |
137 |
-+unsigned char fetch_and_add_8 (unsigned char *p, unsigned char v) { |
138 |
- return __sync_fetch_and_add (p, v); |
139 |
- } |
140 |
--inline unsigned char fetch_and_sub_8 (unsigned char *p, unsigned char v) { |
141 |
-+unsigned char fetch_and_sub_8 (unsigned char *p, unsigned char v) { |
142 |
- return __sync_fetch_and_sub (p, v); |
143 |
- } |
144 |
--inline unsigned char fetch_and_or_8 (unsigned char *p, unsigned char v) { |
145 |
-+unsigned char fetch_and_or_8 (unsigned char *p, unsigned char v) { |
146 |
- return __sync_fetch_and_or (p, v); |
147 |
- } |
148 |
--inline unsigned char fetch_and_and_8 (unsigned char *p, unsigned char v) { |
149 |
-+unsigned char fetch_and_and_8 (unsigned char *p, unsigned char v) { |
150 |
- return __sync_fetch_and_and (p, v); |
151 |
- } |
152 |
--inline unsigned char fetch_and_xor_8 (unsigned char *p, unsigned char v) { |
153 |
-+unsigned char fetch_and_xor_8 (unsigned char *p, unsigned char v) { |
154 |
- return __sync_fetch_and_xor (p, v); |
155 |
- } |
156 |
--inline unsigned char fetch_and_nand_8 (unsigned char *p, unsigned char v) { |
157 |
-+unsigned char fetch_and_nand_8 (unsigned char *p, unsigned char v) { |
158 |
- return __sync_fetch_and_nand (p, v); |
159 |
- } |
160 |
--inline unsigned char add_and_fetch_8 (unsigned char *p, unsigned char v) { |
161 |
-+unsigned char add_and_fetch_8 (unsigned char *p, unsigned char v) { |
162 |
- return __sync_add_and_fetch (p, v); |
163 |
- } |
164 |
--inline unsigned char sub_and_fetch_8 (unsigned char *p, unsigned char v) { |
165 |
-+unsigned char sub_and_fetch_8 (unsigned char *p, unsigned char v) { |
166 |
- return __sync_sub_and_fetch (p, v); |
167 |
- } |
168 |
--inline unsigned char or_and_fetch_8 (unsigned char *p, unsigned char v) { |
169 |
-+unsigned char or_and_fetch_8 (unsigned char *p, unsigned char v) { |
170 |
- return __sync_or_and_fetch (p, v); |
171 |
- } |
172 |
--inline unsigned char and_and_fetch_8 (unsigned char *p, unsigned char v) { |
173 |
-+unsigned char and_and_fetch_8 (unsigned char *p, unsigned char v) { |
174 |
- return __sync_and_and_fetch (p, v); |
175 |
- } |
176 |
--inline unsigned char xor_and_fetch_8 (unsigned char *p, unsigned char v) { |
177 |
-+unsigned char xor_and_fetch_8 (unsigned char *p, unsigned char v) { |
178 |
- return __sync_xor_and_fetch (p, v); |
179 |
- } |
180 |
--inline unsigned char nand_and_fetch_8 (unsigned char *p, unsigned char v) { |
181 |
-+unsigned char nand_and_fetch_8 (unsigned char *p, unsigned char v) { |
182 |
- return __sync_nand_and_fetch (p, v); |
183 |
- } |
184 |
--inline unsigned int |
185 |
-+unsigned int |
186 |
- bool_compare_and_swap_8 (unsigned char *p, unsigned char old, unsigned char new) { |
187 |
-@@ -45,3 +45,3 @@ bool_compare_and_swap_8 (unsigned char *p, unsigned char old, unsigned char new) |
188 |
- } |
189 |
--inline unsigned char |
190 |
-+unsigned char |
191 |
- val_compare_and_swap_8 (unsigned char *p, unsigned char old, unsigned char new) { |
192 |
-@@ -49,3 +49,3 @@ val_compare_and_swap_8 (unsigned char *p, unsigned char old, unsigned char new) |
193 |
- } |
194 |
--inline unsigned char lock_test_and_set_8 (unsigned char *p) { |
195 |
-+unsigned char lock_test_and_set_8 (unsigned char *p) { |
196 |
- // Only immediate 0/1 appear to be widely supported, so hardcode it |
197 |
-@@ -60,39 +60,39 @@ void lock_release_8 (unsigned char *p) { |
198 |
- /* 16-bit */ |
199 |
--inline unsigned short fetch_and_add_16 (unsigned short *p, unsigned short v) { |
200 |
-+unsigned short fetch_and_add_16 (unsigned short *p, unsigned short v) { |
201 |
- return __sync_fetch_and_add (p, v); |
202 |
- } |
203 |
--inline unsigned short fetch_and_sub_16 (unsigned short *p, unsigned short v) { |
204 |
-+unsigned short fetch_and_sub_16 (unsigned short *p, unsigned short v) { |
205 |
- return __sync_fetch_and_sub (p, v); |
206 |
- } |
207 |
--inline unsigned short fetch_and_or_16 (unsigned short *p, unsigned short v) { |
208 |
-+unsigned short fetch_and_or_16 (unsigned short *p, unsigned short v) { |
209 |
- return __sync_fetch_and_or (p, v); |
210 |
- } |
211 |
--inline unsigned short fetch_and_and_16 (unsigned short *p, unsigned short v) { |
212 |
-+unsigned short fetch_and_and_16 (unsigned short *p, unsigned short v) { |
213 |
- return __sync_fetch_and_and (p, v); |
214 |
- } |
215 |
--inline unsigned short fetch_and_xor_16 (unsigned short *p, unsigned short v) { |
216 |
-+unsigned short fetch_and_xor_16 (unsigned short *p, unsigned short v) { |
217 |
- return __sync_fetch_and_xor (p, v); |
218 |
- } |
219 |
--inline unsigned short fetch_and_nand_16 (unsigned short *p, unsigned short v) { |
220 |
-+unsigned short fetch_and_nand_16 (unsigned short *p, unsigned short v) { |
221 |
- return __sync_fetch_and_nand (p, v); |
222 |
- } |
223 |
--inline unsigned short add_and_fetch_16 (unsigned short *p, unsigned short v) { |
224 |
-+unsigned short add_and_fetch_16 (unsigned short *p, unsigned short v) { |
225 |
- return __sync_add_and_fetch (p, v); |
226 |
- } |
227 |
--inline unsigned short sub_and_fetch_16 (unsigned short *p, unsigned short v) { |
228 |
-+unsigned short sub_and_fetch_16 (unsigned short *p, unsigned short v) { |
229 |
- return __sync_sub_and_fetch (p, v); |
230 |
- } |
231 |
--inline unsigned short or_and_fetch_16 (unsigned short *p, unsigned short v) { |
232 |
-+unsigned short or_and_fetch_16 (unsigned short *p, unsigned short v) { |
233 |
- return __sync_or_and_fetch (p, v); |
234 |
- } |
235 |
--inline unsigned short and_and_fetch_16 (unsigned short *p, unsigned short v) { |
236 |
-+unsigned short and_and_fetch_16 (unsigned short *p, unsigned short v) { |
237 |
- return __sync_and_and_fetch (p, v); |
238 |
- } |
239 |
--inline unsigned short xor_and_fetch_16 (unsigned short *p, unsigned short v) { |
240 |
-+unsigned short xor_and_fetch_16 (unsigned short *p, unsigned short v) { |
241 |
- return __sync_xor_and_fetch (p, v); |
242 |
- } |
243 |
--inline unsigned short nand_and_fetch_16 (unsigned short *p, unsigned short v) { |
244 |
-+unsigned short nand_and_fetch_16 (unsigned short *p, unsigned short v) { |
245 |
- return __sync_nand_and_fetch (p, v); |
246 |
- } |
247 |
--inline unsigned int |
248 |
-+unsigned int |
249 |
- bool_compare_and_swap_16 (unsigned short *p, unsigned short old, unsigned short new) { |
250 |
-@@ -100,3 +100,3 @@ bool_compare_and_swap_16 (unsigned short *p, unsigned short old, unsigned short |
251 |
- } |
252 |
--inline unsigned short |
253 |
-+unsigned short |
254 |
- val_compare_and_swap_16 (unsigned short *p, unsigned short old, unsigned short new) { |
255 |
-@@ -104,3 +104,3 @@ val_compare_and_swap_16 (unsigned short *p, unsigned short old, unsigned short n |
256 |
- } |
257 |
--inline unsigned short lock_test_and_set_16 (unsigned short *p) { |
258 |
-+unsigned short lock_test_and_set_16 (unsigned short *p) { |
259 |
- // Only immediate 0/1 appear to be widely supported, so hardcode it |
260 |
-@@ -115,39 +115,39 @@ void lock_release_16 (unsigned short *p) { |
261 |
- /* 32-bit */ |
262 |
--inline unsigned int fetch_and_add_32 (unsigned int *p, unsigned int v) { |
263 |
-+unsigned int fetch_and_add_32 (unsigned int *p, unsigned int v) { |
264 |
- return __sync_fetch_and_add (p, v); |
265 |
- } |
266 |
--inline unsigned int fetch_and_sub_32 (unsigned int *p, unsigned int v) { |
267 |
-+unsigned int fetch_and_sub_32 (unsigned int *p, unsigned int v) { |
268 |
- return __sync_fetch_and_sub (p, v); |
269 |
- } |
270 |
--inline unsigned int fetch_and_or_32 (unsigned int *p, unsigned int v) { |
271 |
-+unsigned int fetch_and_or_32 (unsigned int *p, unsigned int v) { |
272 |
- return __sync_fetch_and_or (p, v); |
273 |
- } |
274 |
--inline unsigned int fetch_and_and_32 (unsigned int *p, unsigned int v) { |
275 |
-+unsigned int fetch_and_and_32 (unsigned int *p, unsigned int v) { |
276 |
- return __sync_fetch_and_and (p, v); |
277 |
- } |
278 |
--inline unsigned int fetch_and_xor_32 (unsigned int *p, unsigned int v) { |
279 |
-+unsigned int fetch_and_xor_32 (unsigned int *p, unsigned int v) { |
280 |
- return __sync_fetch_and_xor (p, v); |
281 |
- } |
282 |
--inline unsigned int fetch_and_nand_32 (unsigned int *p, unsigned int v) { |
283 |
-+unsigned int fetch_and_nand_32 (unsigned int *p, unsigned int v) { |
284 |
- return __sync_fetch_and_nand (p, v); |
285 |
- } |
286 |
--inline unsigned int add_and_fetch_32 (unsigned int *p, unsigned int v) { |
287 |
-+unsigned int add_and_fetch_32 (unsigned int *p, unsigned int v) { |
288 |
- return __sync_add_and_fetch (p, v); |
289 |
- } |
290 |
--inline unsigned int sub_and_fetch_32 (unsigned int *p, unsigned int v) { |
291 |
-+unsigned int sub_and_fetch_32 (unsigned int *p, unsigned int v) { |
292 |
- return __sync_sub_and_fetch (p, v); |
293 |
- } |
294 |
--inline unsigned int or_and_fetch_32 (unsigned int *p, unsigned int v) { |
295 |
-+unsigned int or_and_fetch_32 (unsigned int *p, unsigned int v) { |
296 |
- return __sync_or_and_fetch (p, v); |
297 |
- } |
298 |
--inline unsigned int and_and_fetch_32 (unsigned int *p, unsigned int v) { |
299 |
-+unsigned int and_and_fetch_32 (unsigned int *p, unsigned int v) { |
300 |
- return __sync_and_and_fetch (p, v); |
301 |
- } |
302 |
--inline unsigned int xor_and_fetch_32 (unsigned int *p, unsigned int v) { |
303 |
-+unsigned int xor_and_fetch_32 (unsigned int *p, unsigned int v) { |
304 |
- return __sync_xor_and_fetch (p, v); |
305 |
- } |
306 |
--inline unsigned int nand_and_fetch_32 (unsigned int *p, unsigned int v) { |
307 |
-+unsigned int nand_and_fetch_32 (unsigned int *p, unsigned int v) { |
308 |
- return __sync_nand_and_fetch (p, v); |
309 |
- } |
310 |
--inline unsigned int |
311 |
-+unsigned int |
312 |
- bool_compare_and_swap_32 (unsigned int *p, unsigned int old, unsigned int new) { |
313 |
-@@ -155,3 +155,3 @@ bool_compare_and_swap_32 (unsigned int *p, unsigned int old, unsigned int new) { |
314 |
- } |
315 |
--inline unsigned int |
316 |
-+unsigned int |
317 |
- val_compare_and_swap_32 (unsigned int *p, unsigned int old, unsigned int new) { |
318 |
-@@ -159,3 +159,3 @@ val_compare_and_swap_32 (unsigned int *p, unsigned int old, unsigned int new) { |
319 |
- } |
320 |
--inline unsigned int lock_test_and_set_32 (unsigned int *p) { |
321 |
-+unsigned int lock_test_and_set_32 (unsigned int *p) { |
322 |
- // Only immediate 0/1 appear to be widely supported, so hardcode it |
323 |
-@@ -170,39 +170,39 @@ void lock_release_32 (unsigned int *p) { |
324 |
- /* 64-bit */ |
325 |
--inline unsigned long long fetch_and_add_64 (unsigned long long *p, unsigned long long v) { |
326 |
-+unsigned long long fetch_and_add_64 (unsigned long long *p, unsigned long long v) { |
327 |
- return __sync_fetch_and_add (p, v); |
328 |
- } |
329 |
--inline unsigned long long fetch_and_sub_64 (unsigned long long *p, unsigned long long v) { |
330 |
-+unsigned long long fetch_and_sub_64 (unsigned long long *p, unsigned long long v) { |
331 |
- return __sync_fetch_and_sub (p, v); |
332 |
- } |
333 |
--inline unsigned long long fetch_and_or_64 (unsigned long long *p, unsigned long long v) { |
334 |
-+unsigned long long fetch_and_or_64 (unsigned long long *p, unsigned long long v) { |
335 |
- return __sync_fetch_and_or (p, v); |
336 |
- } |
337 |
--inline unsigned long long fetch_and_and_64 (unsigned long long *p, unsigned long long v) { |
338 |
-+unsigned long long fetch_and_and_64 (unsigned long long *p, unsigned long long v) { |
339 |
- return __sync_fetch_and_and (p, v); |
340 |
- } |
341 |
--inline unsigned long long fetch_and_xor_64 (unsigned long long *p, unsigned long long v) { |
342 |
-+unsigned long long fetch_and_xor_64 (unsigned long long *p, unsigned long long v) { |
343 |
- return __sync_fetch_and_xor (p, v); |
344 |
- } |
345 |
--inline unsigned long long fetch_and_nand_64 (unsigned long long *p, unsigned long long v) { |
346 |
-+unsigned long long fetch_and_nand_64 (unsigned long long *p, unsigned long long v) { |
347 |
- return __sync_fetch_and_nand (p, v); |
348 |
- } |
349 |
--inline unsigned long long add_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
350 |
-+unsigned long long add_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
351 |
- return __sync_add_and_fetch (p, v); |
352 |
- } |
353 |
--inline unsigned long long sub_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
354 |
-+unsigned long long sub_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
355 |
- return __sync_sub_and_fetch (p, v); |
356 |
- } |
357 |
--inline unsigned long long or_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
358 |
-+unsigned long long or_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
359 |
- return __sync_or_and_fetch (p, v); |
360 |
- } |
361 |
--inline unsigned long long and_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
362 |
-+unsigned long long and_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
363 |
- return __sync_and_and_fetch (p, v); |
364 |
- } |
365 |
--inline unsigned long long xor_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
366 |
-+unsigned long long xor_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
367 |
- return __sync_xor_and_fetch (p, v); |
368 |
- } |
369 |
--inline unsigned long long nand_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
370 |
-+unsigned long long nand_and_fetch_64 (unsigned long long *p, unsigned long long v) { |
371 |
- return __sync_nand_and_fetch (p, v); |
372 |
- } |
373 |
--inline unsigned int |
374 |
-+unsigned int |
375 |
- bool_compare_and_swap_64 (unsigned long long *p, unsigned long long old, unsigned long long new) { |
376 |
-@@ -210,3 +210,3 @@ bool_compare_and_swap_64 (unsigned long long *p, unsigned long long old, unsigne |
377 |
- } |
378 |
--inline unsigned long long |
379 |
-+unsigned long long |
380 |
- val_compare_and_swap_64 (unsigned long long *p, unsigned long long old, unsigned long long new) { |
381 |
-@@ -214,3 +214,3 @@ val_compare_and_swap_64 (unsigned long long *p, unsigned long long old, unsigned |
382 |
- } |
383 |
--inline unsigned long long lock_test_and_set_64 (unsigned long long *p) { |
384 |
-+unsigned long long lock_test_and_set_64 (unsigned long long *p) { |
385 |
- // Only immediate 0/1 appear to be widely supported, so hardcode it |
386 |
-@@ -225,39 +225,39 @@ void lock_release_64 (unsigned long long *p) { |
387 |
- /* Word-sized */ |
388 |
--inline unsigned long fetch_and_add_word (unsigned long *p, unsigned long v) { |
389 |
-+unsigned long fetch_and_add_word (unsigned long *p, unsigned long v) { |
390 |
- return __sync_fetch_and_add (p, v); |
391 |
- } |
392 |
--inline unsigned long fetch_and_sub_word (unsigned long *p, unsigned long v) { |
393 |
-+unsigned long fetch_and_sub_word (unsigned long *p, unsigned long v) { |
394 |
- return __sync_fetch_and_sub (p, v); |
395 |
- } |
396 |
--inline unsigned long fetch_and_or_word (unsigned long *p, unsigned long v) { |
397 |
-+unsigned long fetch_and_or_word (unsigned long *p, unsigned long v) { |
398 |
- return __sync_fetch_and_or (p, v); |
399 |
- } |
400 |
--inline unsigned long fetch_and_and_word (unsigned long *p, unsigned long v) { |
401 |
-+unsigned long fetch_and_and_word (unsigned long *p, unsigned long v) { |
402 |
- return __sync_fetch_and_and (p, v); |
403 |
- } |
404 |
--inline unsigned long fetch_and_xor_word (unsigned long *p, unsigned long v) { |
405 |
-+unsigned long fetch_and_xor_word (unsigned long *p, unsigned long v) { |
406 |
- return __sync_fetch_and_xor (p, v); |
407 |
- } |
408 |
--inline unsigned long fetch_and_nand_word (unsigned long *p, unsigned long v) { |
409 |
-+unsigned long fetch_and_nand_word (unsigned long *p, unsigned long v) { |
410 |
- return __sync_fetch_and_nand (p, v); |
411 |
- } |
412 |
--inline unsigned long add_and_fetch_word (unsigned long *p, unsigned long v) { |
413 |
-+unsigned long add_and_fetch_word (unsigned long *p, unsigned long v) { |
414 |
- return __sync_add_and_fetch (p, v); |
415 |
- } |
416 |
--inline unsigned long sub_and_fetch_word (unsigned long *p, unsigned long v) { |
417 |
-+unsigned long sub_and_fetch_word (unsigned long *p, unsigned long v) { |
418 |
- return __sync_sub_and_fetch (p, v); |
419 |
- } |
420 |
--inline unsigned long or_and_fetch_word (unsigned long *p, unsigned long v) { |
421 |
-+unsigned long or_and_fetch_word (unsigned long *p, unsigned long v) { |
422 |
- return __sync_or_and_fetch (p, v); |
423 |
- } |
424 |
--inline unsigned long and_and_fetch_word (unsigned long *p, unsigned long v) { |
425 |
-+unsigned long and_and_fetch_word (unsigned long *p, unsigned long v) { |
426 |
- return __sync_and_and_fetch (p, v); |
427 |
- } |
428 |
--inline unsigned long xor_and_fetch_word (unsigned long *p, unsigned long v) { |
429 |
-+unsigned long xor_and_fetch_word (unsigned long *p, unsigned long v) { |
430 |
- return __sync_xor_and_fetch (p, v); |
431 |
- } |
432 |
--inline unsigned long nand_and_fetch_word (unsigned long *p, unsigned long v) { |
433 |
-+unsigned long nand_and_fetch_word (unsigned long *p, unsigned long v) { |
434 |
- return __sync_nand_and_fetch (p, v); |
435 |
- } |
436 |
--inline unsigned int |
437 |
-+unsigned int |
438 |
- bool_compare_and_swap_word (unsigned long *p, unsigned long old, unsigned long new) { |
439 |
-@@ -265,3 +265,3 @@ bool_compare_and_swap_word (unsigned long *p, unsigned long old, unsigned long n |
440 |
- } |
441 |
--inline unsigned long |
442 |
-+unsigned long |
443 |
- val_compare_and_swap_word (unsigned long *p, unsigned long old, unsigned long new) { |
444 |
-@@ -269,3 +269,3 @@ val_compare_and_swap_word (unsigned long *p, unsigned long old, unsigned long ne |
445 |
- } |
446 |
--inline unsigned long lock_test_and_set_word (unsigned long *p) { |
447 |
-+unsigned long lock_test_and_set_word (unsigned long *p) { |
448 |
- // Only immediate 0/1 appear to be widely supported, so hardcode it |
449 |
-diff --git a/cbits/atomic-bitops-gcc.h b/cbits/atomic-bitops-gcc.h |
450 |
-index f9eccc4..7e0ef15 100644 |
451 |
---- a/cbits/atomic-bitops-gcc.h |
452 |
-+++ b/cbits/atomic-bitops-gcc.h |
453 |
-@@ -6,19 +6,19 @@ void mem_barrier (void); |
454 |
- /* 8-bit */ |
455 |
--inline unsigned char fetch_and_add_8 (unsigned char *, unsigned char ); |
456 |
--inline unsigned char fetch_and_sub_8 (unsigned char *, unsigned char ); |
457 |
--inline unsigned char fetch_and_or_8 (unsigned char *, unsigned char ); |
458 |
--inline unsigned char fetch_and_and_8 (unsigned char *, unsigned char ); |
459 |
--inline unsigned char fetch_and_xor_8 (unsigned char *, unsigned char ); |
460 |
--inline unsigned char fetch_and_nand_8 (unsigned char *, unsigned char ); |
461 |
--inline unsigned char add_and_fetch_8 (unsigned char *, unsigned char ); |
462 |
--inline unsigned char sub_and_fetch_8 (unsigned char *, unsigned char ); |
463 |
--inline unsigned char or_and_fetch_8 (unsigned char *, unsigned char ); |
464 |
--inline unsigned char and_and_fetch_8 (unsigned char *, unsigned char ); |
465 |
--inline unsigned char xor_and_fetch_8 (unsigned char *, unsigned char ); |
466 |
--inline unsigned char nand_and_fetch_8 (unsigned char *, unsigned char ); |
467 |
--inline unsigned int |
468 |
-+unsigned char fetch_and_add_8 (unsigned char *, unsigned char ); |
469 |
-+unsigned char fetch_and_sub_8 (unsigned char *, unsigned char ); |
470 |
-+unsigned char fetch_and_or_8 (unsigned char *, unsigned char ); |
471 |
-+unsigned char fetch_and_and_8 (unsigned char *, unsigned char ); |
472 |
-+unsigned char fetch_and_xor_8 (unsigned char *, unsigned char ); |
473 |
-+unsigned char fetch_and_nand_8 (unsigned char *, unsigned char ); |
474 |
-+unsigned char add_and_fetch_8 (unsigned char *, unsigned char ); |
475 |
-+unsigned char sub_and_fetch_8 (unsigned char *, unsigned char ); |
476 |
-+unsigned char or_and_fetch_8 (unsigned char *, unsigned char ); |
477 |
-+unsigned char and_and_fetch_8 (unsigned char *, unsigned char ); |
478 |
-+unsigned char xor_and_fetch_8 (unsigned char *, unsigned char ); |
479 |
-+unsigned char nand_and_fetch_8 (unsigned char *, unsigned char ); |
480 |
-+unsigned int |
481 |
- bool_compare_and_swap_8 (unsigned char *, unsigned char, unsigned char); |
482 |
--inline unsigned char |
483 |
-+unsigned char |
484 |
- val_compare_and_swap_8 (unsigned char *, unsigned char , unsigned char); |
485 |
--inline unsigned char lock_test_and_set_8 (unsigned char *); |
486 |
-+unsigned char lock_test_and_set_8 (unsigned char *); |
487 |
- void lock_release_8 (unsigned char *); |
488 |
-@@ -26,19 +26,19 @@ void lock_release_8 (unsigned char *); |
489 |
- /* 16-bit */ |
490 |
--inline unsigned short fetch_and_add_16 (unsigned short *, unsigned short ); |
491 |
--inline unsigned short fetch_and_sub_16 (unsigned short *, unsigned short ); |
492 |
--inline unsigned short fetch_and_or_16 (unsigned short *, unsigned short ); |
493 |
--inline unsigned short fetch_and_and_16 (unsigned short *, unsigned short ); |
494 |
--inline unsigned short fetch_and_xor_16 (unsigned short *, unsigned short ); |
495 |
--inline unsigned short fetch_and_nand_16 (unsigned short *, unsigned short ); |
496 |
--inline unsigned short add_and_fetch_16 (unsigned short *, unsigned short ); |
497 |
--inline unsigned short sub_and_fetch_16 (unsigned short *, unsigned short ); |
498 |
--inline unsigned short or_and_fetch_16 (unsigned short *, unsigned short ); |
499 |
--inline unsigned short and_and_fetch_16 (unsigned short *, unsigned short ); |
500 |
--inline unsigned short xor_and_fetch_16 (unsigned short *, unsigned short ); |
501 |
--inline unsigned short nand_and_fetch_16 (unsigned short *, unsigned short ); |
502 |
--inline unsigned int |
503 |
-+unsigned short fetch_and_add_16 (unsigned short *, unsigned short ); |
504 |
-+unsigned short fetch_and_sub_16 (unsigned short *, unsigned short ); |
505 |
-+unsigned short fetch_and_or_16 (unsigned short *, unsigned short ); |
506 |
-+unsigned short fetch_and_and_16 (unsigned short *, unsigned short ); |
507 |
-+unsigned short fetch_and_xor_16 (unsigned short *, unsigned short ); |
508 |
-+unsigned short fetch_and_nand_16 (unsigned short *, unsigned short ); |
509 |
-+unsigned short add_and_fetch_16 (unsigned short *, unsigned short ); |
510 |
-+unsigned short sub_and_fetch_16 (unsigned short *, unsigned short ); |
511 |
-+unsigned short or_and_fetch_16 (unsigned short *, unsigned short ); |
512 |
-+unsigned short and_and_fetch_16 (unsigned short *, unsigned short ); |
513 |
-+unsigned short xor_and_fetch_16 (unsigned short *, unsigned short ); |
514 |
-+unsigned short nand_and_fetch_16 (unsigned short *, unsigned short ); |
515 |
-+unsigned int |
516 |
- bool_compare_and_swap_16 (unsigned short *, unsigned short , unsigned short ); |
517 |
--inline unsigned short |
518 |
-+unsigned short |
519 |
- val_compare_and_swap_16 (unsigned short *, unsigned short , unsigned short ); |
520 |
--inline unsigned short lock_test_and_set_16 (unsigned short *); |
521 |
-+unsigned short lock_test_and_set_16 (unsigned short *); |
522 |
- void lock_release_16 (unsigned short *); |
523 |
-@@ -47,19 +47,19 @@ void lock_release_16 (unsigned short *); |
524 |
- /* 32-bit */ |
525 |
--inline unsigned int fetch_and_add_32 (unsigned int *, unsigned int ); |
526 |
--inline unsigned int fetch_and_sub_32 (unsigned int *, unsigned int ); |
527 |
--inline unsigned int fetch_and_or_32 (unsigned int *, unsigned int ); |
528 |
--inline unsigned int fetch_and_and_32 (unsigned int *, unsigned int ); |
529 |
--inline unsigned int fetch_and_xor_32 (unsigned int *, unsigned int ); |
530 |
--inline unsigned int fetch_and_nand_32 (unsigned int *, unsigned int ); |
531 |
--inline unsigned int add_and_fetch_32 (unsigned int *, unsigned int ); |
532 |
--inline unsigned int sub_and_fetch_32 (unsigned int *, unsigned int ); |
533 |
--inline unsigned int or_and_fetch_32 (unsigned int *, unsigned int ); |
534 |
--inline unsigned int and_and_fetch_32 (unsigned int *, unsigned int ); |
535 |
--inline unsigned int xor_and_fetch_32 (unsigned int *, unsigned int ); |
536 |
--inline unsigned int nand_and_fetch_32 (unsigned int *, unsigned int ); |
537 |
--inline unsigned int |
538 |
-+unsigned int fetch_and_add_32 (unsigned int *, unsigned int ); |
539 |
-+unsigned int fetch_and_sub_32 (unsigned int *, unsigned int ); |
540 |
-+unsigned int fetch_and_or_32 (unsigned int *, unsigned int ); |
541 |
-+unsigned int fetch_and_and_32 (unsigned int *, unsigned int ); |
542 |
-+unsigned int fetch_and_xor_32 (unsigned int *, unsigned int ); |
543 |
-+unsigned int fetch_and_nand_32 (unsigned int *, unsigned int ); |
544 |
-+unsigned int add_and_fetch_32 (unsigned int *, unsigned int ); |
545 |
-+unsigned int sub_and_fetch_32 (unsigned int *, unsigned int ); |
546 |
-+unsigned int or_and_fetch_32 (unsigned int *, unsigned int ); |
547 |
-+unsigned int and_and_fetch_32 (unsigned int *, unsigned int ); |
548 |
-+unsigned int xor_and_fetch_32 (unsigned int *, unsigned int ); |
549 |
-+unsigned int nand_and_fetch_32 (unsigned int *, unsigned int ); |
550 |
-+unsigned int |
551 |
- bool_compare_and_swap_32 (unsigned int *, unsigned int , unsigned int ); |
552 |
--inline unsigned int |
553 |
-+unsigned int |
554 |
- val_compare_and_swap_32 (unsigned int *, unsigned int , unsigned int ); |
555 |
--inline unsigned int lock_test_and_set_32 (unsigned int *); |
556 |
-+unsigned int lock_test_and_set_32 (unsigned int *); |
557 |
- void lock_release_32 (unsigned int *); |
558 |
-@@ -67,19 +67,19 @@ void lock_release_32 (unsigned int *); |
559 |
- /* 64-bit */ |
560 |
--inline unsigned long long fetch_and_add_64 (unsigned long long *, unsigned long long ); |
561 |
--inline unsigned long long fetch_and_sub_64 (unsigned long long *, unsigned long long ); |
562 |
--inline unsigned long long fetch_and_or_64 (unsigned long long *, unsigned long long ); |
563 |
--inline unsigned long long fetch_and_and_64 (unsigned long long *, unsigned long long ); |
564 |
--inline unsigned long long fetch_and_xor_64 (unsigned long long *, unsigned long long ); |
565 |
--inline unsigned long long fetch_and_nand_64 (unsigned long long *, unsigned long long ); |
566 |
--inline unsigned long long add_and_fetch_64 (unsigned long long *, unsigned long long ); |
567 |
--inline unsigned long long sub_and_fetch_64 (unsigned long long *, unsigned long long ); |
568 |
--inline unsigned long long or_and_fetch_64 (unsigned long long *, unsigned long long ); |
569 |
--inline unsigned long long and_and_fetch_64 (unsigned long long *, unsigned long long ); |
570 |
--inline unsigned long long xor_and_fetch_64 (unsigned long long *, unsigned long long ); |
571 |
--inline unsigned long long nand_and_fetch_64 (unsigned long long *, unsigned long long ); |
572 |
--inline unsigned int |
573 |
-+unsigned long long fetch_and_add_64 (unsigned long long *, unsigned long long ); |
574 |
-+unsigned long long fetch_and_sub_64 (unsigned long long *, unsigned long long ); |
575 |
-+unsigned long long fetch_and_or_64 (unsigned long long *, unsigned long long ); |
576 |
-+unsigned long long fetch_and_and_64 (unsigned long long *, unsigned long long ); |
577 |
-+unsigned long long fetch_and_xor_64 (unsigned long long *, unsigned long long ); |
578 |
-+unsigned long long fetch_and_nand_64 (unsigned long long *, unsigned long long ); |
579 |
-+unsigned long long add_and_fetch_64 (unsigned long long *, unsigned long long ); |
580 |
-+unsigned long long sub_and_fetch_64 (unsigned long long *, unsigned long long ); |
581 |
-+unsigned long long or_and_fetch_64 (unsigned long long *, unsigned long long ); |
582 |
-+unsigned long long and_and_fetch_64 (unsigned long long *, unsigned long long ); |
583 |
-+unsigned long long xor_and_fetch_64 (unsigned long long *, unsigned long long ); |
584 |
-+unsigned long long nand_and_fetch_64 (unsigned long long *, unsigned long long ); |
585 |
-+unsigned int |
586 |
- bool_compare_and_swap_64 (unsigned long long *, unsigned long long , unsigned long long ); |
587 |
--inline unsigned long long |
588 |
-+unsigned long long |
589 |
- val_compare_and_swap_64 (unsigned long long *, unsigned long long , unsigned long long ); |
590 |
--inline unsigned long long lock_test_and_set_64 (unsigned long long *); |
591 |
-+unsigned long long lock_test_and_set_64 (unsigned long long *); |
592 |
- void lock_release_64 (unsigned long long *); |
593 |
-@@ -87,19 +87,19 @@ void lock_release_64 (unsigned long long *); |
594 |
- /* Word */ |
595 |
--inline unsigned long fetch_and_add_word (unsigned long *, unsigned long ); |
596 |
--inline unsigned long fetch_and_sub_word (unsigned long *, unsigned long ); |
597 |
--inline unsigned long fetch_and_or_word (unsigned long *, unsigned long ); |
598 |
--inline unsigned long fetch_and_and_word (unsigned long *, unsigned long ); |
599 |
--inline unsigned long fetch_and_xor_word (unsigned long *, unsigned long ); |
600 |
--inline unsigned long fetch_and_nand_word (unsigned long *, unsigned long ); |
601 |
--inline unsigned long add_and_fetch_word (unsigned long *, unsigned long ); |
602 |
--inline unsigned long sub_and_fetch_word (unsigned long *, unsigned long ); |
603 |
--inline unsigned long or_and_fetch_word (unsigned long *, unsigned long ); |
604 |
--inline unsigned long and_and_fetch_word (unsigned long *, unsigned long ); |
605 |
--inline unsigned long xor_and_fetch_word (unsigned long *, unsigned long ); |
606 |
--inline unsigned long nand_and_fetch_word (unsigned long *, unsigned long ); |
607 |
--inline unsigned int |
608 |
-+unsigned long fetch_and_add_word (unsigned long *, unsigned long ); |
609 |
-+unsigned long fetch_and_sub_word (unsigned long *, unsigned long ); |
610 |
-+unsigned long fetch_and_or_word (unsigned long *, unsigned long ); |
611 |
-+unsigned long fetch_and_and_word (unsigned long *, unsigned long ); |
612 |
-+unsigned long fetch_and_xor_word (unsigned long *, unsigned long ); |
613 |
-+unsigned long fetch_and_nand_word (unsigned long *, unsigned long ); |
614 |
-+unsigned long add_and_fetch_word (unsigned long *, unsigned long ); |
615 |
-+unsigned long sub_and_fetch_word (unsigned long *, unsigned long ); |
616 |
-+unsigned long or_and_fetch_word (unsigned long *, unsigned long ); |
617 |
-+unsigned long and_and_fetch_word (unsigned long *, unsigned long ); |
618 |
-+unsigned long xor_and_fetch_word (unsigned long *, unsigned long ); |
619 |
-+unsigned long nand_and_fetch_word (unsigned long *, unsigned long ); |
620 |
-+unsigned int |
621 |
- bool_compare_and_swap_word (unsigned long *, unsigned long , unsigned long ); |
622 |
--inline unsigned long |
623 |
-+unsigned long |
624 |
- val_compare_and_swap_word (unsigned long *, unsigned long , unsigned long ); |
625 |
--inline unsigned long lock_test_and_set_word (unsigned long *); |
626 |
-+unsigned long lock_test_and_set_word (unsigned long *); |
627 |
- void lock_release_word (unsigned long *); |
628 |
-diff --git a/test/test.hs b/test/test.hs |
629 |
-index 8cf3cb2..38238b5 100644 |
630 |
---- a/test/test.hs |
631 |
-+++ b/test/test.hs |
632 |
-@@ -35,3 +35,3 @@ testPattern = 0xdeadbeef |
633 |
- |
634 |
--type PolyTest = (AtomicBits a, Storable a, Integral a, Bounded a) => a -> Assertion |
635 |
-+type PolyTest = (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => a -> Assertion |
636 |
- |
637 |
-@@ -50,3 +50,3 @@ testTypes _test = do |
638 |
- |
639 |
--test_compareAndSwap :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
640 |
-+test_compareAndSwap :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
641 |
- a -> Assertion |
642 |
-@@ -65,3 +65,3 @@ test_compareAndSwap_all = testTypes test_compareAndSwap |
643 |
- |
644 |
--test_compareAndSwapBool :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
645 |
-+test_compareAndSwapBool :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
646 |
- a -> Assertion |
647 |
-@@ -80,3 +80,3 @@ test_compareAndSwapBool_all = testTypes test_compareAndSwapBool |
648 |
- |
649 |
--test_fetchAndAdd :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
650 |
-+test_fetchAndAdd :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
651 |
- a -> Assertion |
652 |
-@@ -98,3 +98,3 @@ test_fetchAndAdd_all = testTypes test_fetchAndAdd |
653 |
- |
654 |
--test_fetchAndSub :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
655 |
-+test_fetchAndSub :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
656 |
- a -> Assertion |
657 |
-@@ -115,3 +115,3 @@ test_fetchAndSub_all = testTypes test_fetchAndSub |
658 |
- |
659 |
--test_fetchAndXor :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
660 |
-+test_fetchAndXor :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
661 |
- a -> Assertion |
662 |
-@@ -127,3 +127,3 @@ test_fetchAndXor_all = testTypes test_fetchAndXor |
663 |
- |
664 |
--test_subAndFetch :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
665 |
-+test_subAndFetch :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
666 |
- a -> Assertion |
667 |
-@@ -140,3 +140,3 @@ test_subAndFetch_all = testTypes test_subAndFetch |
668 |
- |
669 |
--test_lockTestRelease :: (AtomicBits a, Storable a, Integral a, Bounded a) => |
670 |
-+test_lockTestRelease :: (AtomicBits a, Storable a, Integral a, Bounded a, Show a) => |
671 |
- a -> Assertion |