Commit fc73acac authored by gsamain's avatar gsamain

Removing nogil classes management for scopes in Symtab

parent 488cf16d
...@@ -1498,7 +1498,7 @@ class ModuleScope(Scope): ...@@ -1498,7 +1498,7 @@ class ModuleScope(Scope):
def declare_c_class(self, name, pos, defining=0, implementing=0, def declare_c_class(self, name, pos, defining=0, implementing=0,
module_name=None, base_type=None, objstruct_cname=None, module_name=None, base_type=None, objstruct_cname=None,
typeobj_cname=None, typeptr_cname=None, visibility='private', typeobj_cname=None, typeptr_cname=None, visibility='private',
typedef_flag=0, api=0, nogil=0, check_size=None, typedef_flag=0, api=0, check_size=None,
buffer_defaults=None, shadow=0): buffer_defaults=None, shadow=0):
# If this is a non-extern typedef class, expose the typedef, but use # If this is a non-extern typedef class, expose the typedef, but use
# the non-typedef struct internally to avoid needing forward # the non-typedef struct internally to avoid needing forward
...@@ -1531,15 +1531,8 @@ class ModuleScope(Scope): ...@@ -1531,15 +1531,8 @@ class ModuleScope(Scope):
# Make a new entry if needed # Make a new entry if needed
# #
if not entry or shadow: if not entry or shadow:
if nogil: type = PyrexTypes.PyExtensionType(
pass name, typedef_flag, base_type, visibility == 'extern', check_size=check_size)
if nogil:
type = PyrexTypes.CythonExtensionType(
name, typedef_flag, base_type, visibility == 'extern', check_size=check_size)
else:
type = PyrexTypes.PyExtensionType(
name, typedef_flag, base_type, visibility == 'extern', check_size=check_size)
type.nogil = nogil
type.pos = pos type.pos = pos
type.buffer_defaults = buffer_defaults type.buffer_defaults = buffer_defaults
if objtypedef_cname is not None: if objtypedef_cname is not None:
...@@ -2256,8 +2249,7 @@ class CClassScope(ClassScope): ...@@ -2256,8 +2249,7 @@ class CClassScope(ClassScope):
cname=None, visibility='private', api=0, in_pxd=0, cname=None, visibility='private', api=0, in_pxd=0,
defining=0, modifiers=(), utility_code=None, overridable=False): defining=0, modifiers=(), utility_code=None, overridable=False):
if get_special_method_signature(name) and not self.parent_type.is_builtin_type: if get_special_method_signature(name) and not self.parent_type.is_builtin_type:
if not(hasattr(self.parent_type, "nogil") and self.parent_type.nogil and self.parent_type.is_struct_or_union): error(pos, "Special methods must be declared with 'def', not 'cdef'")
error(pos, "Special methods must be declared with 'def', not 'cdef'")
args = type.args args = type.args
if not type.is_static_method: if not type.is_static_method:
if not args: if not args:
......
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