declaration = method_entry.type.declaration_code(
method_entry.final_func_cname)
if method_entry.func_modifiers:
- modifiers = "%s " % ' '.join(method_entry.func_modifiers).upper()
+ modifiers = " %s " % ' '.join(method_entry.func_modifiers).upper()
+ modifiers = modifiers.replace(" INLINE ", " CYTHON_INLINE ")
else:
- modifiers = ''
- code.putln("static %s%s;" % (modifiers, declaration))
+ modifiers = " "
+ code.putln("static%s%s;" % (modifiers, declaration))
def generate_objstruct_predeclaration(self, type, code):
if not type.scope:
# in_pxd boolean
# api boolean
# overridable boolean whether it is a cpdef
+ # modifiers ['inline']
# decorators [cython.locals(...)] or None
# directive_locals { string : NameNode } locals defined by cython.locals(...)
if type.is_cfunction:
self.entry = dest_scope.declare_cfunction(name, type, declarator.pos,
cname = cname, visibility = self.visibility, in_pxd = self.in_pxd,
- api = self.api)
+ api = self.api, modifiers = self.modifiers)
if self.entry is not None:
self.entry.is_overridable = self.overridable
self.entry.directive_locals = copy.copy(self.directive_locals)
declarators = declarators,
in_pxd = ctx.level in ('module_pxd', 'c_class_pxd'),
api = ctx.api,
+ modifiers = modifiers,
overridable = ctx.overridable)
return result
from distutils.extension import Extension
from Cython.Build import cythonize
-ext_modules = cythonize("*.pyx", exclude="numpy_*.pyx")
+ext_modules = cythonize("**/*.pyx", exclude="numpy_*.pyx")
# Only compile the following if numpy is installed.
try: