Commit d05e8bb3 authored by serge-sans-paille's avatar serge-sans-paille Committed by Stefan Behnel

Adapt to Pythran update: __builtin__ -> builtins (GH-3308)

parent 2b3546fe
...@@ -9,9 +9,16 @@ import cython ...@@ -9,9 +9,16 @@ import cython
try: try:
import pythran import pythran
pythran_is_pre_0_9 = tuple(map(int, pythran.__version__.split('.')[0:2])) < (0, 9) pythran_is_pre_0_9 = tuple(map(int, pythran.__version__.split('.')[0:2])) < (0, 9)
pythran_is_pre_0_9_6 = tuple(map(int, pythran.__version__.split('.')[0:3])) < (0, 9, 6)
except ImportError: except ImportError:
pythran = None pythran = None
pythran_is_pre_0_9 = True pythran_is_pre_0_9 = True
pythran_is_pre_0_9_6 = True
if pythran_is_pre_0_9_6:
pythran_builtins = '__builtin__'
else:
pythran_builtins = 'builtins'
# Pythran/Numpy specific operations # Pythran/Numpy specific operations
...@@ -47,7 +54,7 @@ def pythran_type(Ty, ptype="ndarray"): ...@@ -47,7 +54,7 @@ def pythran_type(Ty, ptype="ndarray"):
if Ty.is_pythran_expr: if Ty.is_pythran_expr:
return Ty.pythran_type return Ty.pythran_type
#if Ty.is_none: #if Ty.is_none:
# return "decltype(pythonic::__builtin__::None)" # return "decltype(pythonic::builtins::None)"
if Ty.is_numeric: if Ty.is_numeric:
return Ty.sign_and_name() return Ty.sign_and_name()
raise ValueError("unsupported pythran type %s (%s)" % (Ty, type(Ty))) raise ValueError("unsupported pythran type %s (%s)" % (Ty, type(Ty)))
...@@ -82,7 +89,9 @@ def _index_type_code(index_with_type): ...@@ -82,7 +89,9 @@ def _index_type_code(index_with_type):
idx, index_type = index_with_type idx, index_type = index_with_type
if idx.is_slice: if idx.is_slice:
n = 2 + int(not idx.step.is_none) n = 2 + int(not idx.step.is_none)
return "pythonic::__builtin__::functor::slice{}(%s)" % (",".join(["0"]*n)) return "pythonic::%s::functor::slice{}(%s)" % (
pythran_builtins,
",".join(["0"]*n))
elif index_type.is_int: elif index_type.is_int:
return "std::declval<%s>()" % index_type.sign_and_name() return "std::declval<%s>()" % index_type.sign_and_name()
elif index_type.is_pythran_expr: elif index_type.is_pythran_expr:
...@@ -154,7 +163,7 @@ def to_pythran(op, ptype=None): ...@@ -154,7 +163,7 @@ def to_pythran(op, ptype=None):
if is_type(op_type, ["is_pythran_expr", "is_numeric", "is_float", "is_complex"]): if is_type(op_type, ["is_pythran_expr", "is_numeric", "is_float", "is_complex"]):
return op.result() return op.result()
if op.is_none: if op.is_none:
return "pythonic::__builtin__::None" return "pythonic::%s::None" % pythran_builtins
if ptype is None: if ptype is None:
ptype = pythran_type(op_type) ptype = pythran_type(op_type)
...@@ -207,7 +216,7 @@ def include_pythran_generic(env): ...@@ -207,7 +216,7 @@ def include_pythran_generic(env):
env.add_include_file("pythonic/types/bool.hpp") env.add_include_file("pythonic/types/bool.hpp")
env.add_include_file("pythonic/types/ndarray.hpp") env.add_include_file("pythonic/types/ndarray.hpp")
env.add_include_file("pythonic/numpy/power.hpp") env.add_include_file("pythonic/numpy/power.hpp")
env.add_include_file("pythonic/__builtin__/slice.hpp") env.add_include_file("pythonic/%s/slice.hpp" % pythran_builtins)
env.add_include_file("<new>") # for placement new env.add_include_file("<new>") # for placement new
for i in (8, 16, 32, 64): for i in (8, 16, 32, 64):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment