Commit fbad192a authored by Robert Bradshaw's avatar Robert Bradshaw

Fix e_cstruct errors

parent 59367485
...@@ -2017,7 +2017,8 @@ class AttributeNode(ExprNode): ...@@ -2017,7 +2017,8 @@ class AttributeNode(ExprNode):
error(self.pos, error(self.pos,
"Cannot select attribute of incomplete type '%s'" "Cannot select attribute of incomplete type '%s'"
% obj_type) % obj_type)
obj_type = PyrexTypes.error_type self.type = PyrexTypes.error_type
return
self.entry = entry self.entry = entry
if entry: if entry:
if obj_type.is_extension_type and entry.name == "__weakref__": if obj_type.is_extension_type and entry.name == "__weakref__":
......
...@@ -4,8 +4,8 @@ cdef struct Spam: ...@@ -4,8 +4,8 @@ cdef struct Spam:
float *p[42] float *p[42]
obj # error - py object obj # error - py object
cdef struct Spam: # error - redefined #cdef struct Spam: # error - redefined (not an error in Cython, should it be?)
int j # int j
cdef struct Grail cdef struct Grail
...@@ -19,9 +19,8 @@ cdef void eggs(Spam s): ...@@ -19,9 +19,8 @@ cdef void eggs(Spam s):
j.i = j # error - no attributes j.i = j # error - no attributes
j = gp.x # error - incomplete type j = gp.x # error - incomplete type
gp.x = j # error - incomplete type gp.x = j # error - incomplete type
_ERRORS = u""" _ERRORS = u"""
/Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:5:36: C struct/union member cannot be a Python object /Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:5:36: C struct/union member cannot be a Python object
/Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:7:5: 'Spam' already defined
/Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:15:6: Object of type 'Spam' has no attribute 'k' /Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:15:6: Object of type 'Spam' has no attribute 'k'
/Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:16:6: Cannot assign type 'float *[42]' to 'int' /Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:16:6: Cannot assign type 'float *[42]' to 'int'
/Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:17:21: Cannot assign type 'int' to 'float *[42]' /Local/Projects/D/Pyrex/Source/Tests/Errors2/e_cstruct.pyx:17:21: Cannot assign type 'int' to 'float *[42]'
......
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