summaryrefslogtreecommitdiff
path: root/Cython/Compiler/MemoryView.py
diff options
context:
space:
mode:
authorMark Florisson <markflorisson88@gmail.com>2011-12-25 15:06:02 +0100
committerMark Florisson <markflorisson88@gmail.com>2012-01-22 19:04:19 +0000
commita54b16314e2fa92892d2a77214f594849d97256f (patch)
tree542115f9e1cc284fcd9070bd3b70c314ee5a0323 /Cython/Compiler/MemoryView.py
parent0e579823bd34de5d1d9b4aeac2c8d727415cba2d (diff)
downloadcython-a54b16314e2fa92892d2a77214f594849d97256f.tar.gz
Support atomics in acquisition counting
Diffstat (limited to 'Cython/Compiler/MemoryView.py')
-rw-r--r--Cython/Compiler/MemoryView.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/Cython/Compiler/MemoryView.py b/Cython/Compiler/MemoryView.py
index a695856ed..69b88e2eb 100644
--- a/Cython/Compiler/MemoryView.py
+++ b/Cython/Compiler/MemoryView.py
@@ -723,11 +723,15 @@ memviewslice_declare_code = load_memview_c_utility(
proto_block='utility_code_proto_before_types',
context=context)
+atomic_utility = load_memview_c_utility("Atomics", context,
+ proto_block='utility_code_proto_before_types')
+
memviewslice_init_code = load_memview_c_utility(
"MemviewSliceInit",
context=dict(context, BUF_MAX_NDIMS=Options.buffer_max_dims),
requires=[memviewslice_declare_code,
- Buffer.acquire_utility_code],
+ Buffer.acquire_utility_code,
+ atomic_utility],
)
memviewslice_index_helpers = load_memview_c_utility("MemviewSliceIndex")
@@ -737,7 +741,11 @@ typeinfo_to_format_code = load_memview_cy_utility(
is_contig_utility = load_memview_c_utility("MemviewSliceIsContig", context)
overlapping_utility = load_memview_c_utility("OverlappingSlices", context)
-copy_contents_new_utility = load_memview_c_utility("MemviewSliceCopyTemplate", context)
+copy_contents_new_utility = load_memview_c_utility(
+ "MemviewSliceCopyTemplate",
+ context,
+ requires=[], # require cython_array_utility_code
+)
view_utility_code = load_memview_cy_utility(
"View.MemoryView",
@@ -756,6 +764,8 @@ cython_array_utility_code = load_memview_cy_utility(
context=context,
requires=[view_utility_code])
+copy_contents_new_utility.requires.append(cython_array_utility_code)
+
# memview_fromslice_utility_code = load_memview_cy_utility(
# "MemviewFromSlice",
# context=context,