Ticket #64 (closed defect: fixed)
Trying to set variable inside struct crashes parser
| Reported by: | hoytak@… | Owned by: | somebody |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.10 |
| Component: | Parsing | Keywords: | |
| Cc: |
Description
Hello,
As of r1117, trying to set a variable inside a struct crashes the parser. For example, running cython on the following code:
cdef struct MyStruct?:
int a = 10
causes this:
user@ubuntu804desktop:~/code/rf$ cython testfile.pyx Traceback (most recent call last):
File "/home/user/sysroot/bin/cython", line 8, in <module>
main(command_line = 1)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Main.py", line 698, in main
result = compile(sources, options)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Main.py", line 675, in compile
return compile_multiple(source, options)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Main.py", line 645, in compile_multiple
result = run_pipeline(source, options)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Main.py", line 507, in run_pipeline
err, enddata = context.run_pipeline(pipeline, source)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Main.py", line 169, in run_pipeline
data = phase(data)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/ParseTreeTransforms.py", line 476, in call
return super(AnalyseDeclarationsTransform?, self).call(root)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Visitor.py", line 156, in call
return self.visit(root)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Visitor.py", line 37, in visit
return m(obj)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/ParseTreeTransforms.py", line 479, in visit_ModuleNode
node.analyse_declarations(self.env_stack[-1])
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/ModuleNode.py", line 55, in analyse_declarations
self.body.analyse_declarations(env)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Nodes.py", line 267, in analyse_declarations
stat.analyse_declarations(env)
File "/home/user/sysroot/lib/python2.5/site-packages/Cython/Compiler/Nodes.py", line 710, in analyse_declarations
attr.analyse_declarations(env, scope)
TypeError?: analyse_declarations() takes exactly 2 arguments (3 given)
Thanks!

