Possible bug: as_compiler.cpp and duplicated branch in if/else

Started by
3 comments, last by droz 12 years, 6 months ago
I've found a duplicated branch for the if/else statement in as_compiler.cpp. It's in line 8584 in AngelScript version 2.21.2:


if( ctx->property_get )
func = engine->scriptFunctions[ctx->property_get];
else
func = engine->scriptFunctions[ctx->property_get];

It's located inside else if( op == ttOpenBracket ) statement.
Advertisement
Thanks. I've fixed this in revision 999.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Not sure whether that's related or not, but.. http://angelscript.jeremyh.net/builders/Full-Linux-64%20Optimized%28-O2%29/builds/13
No, it's not related. The problem that is causing the buildbot to fail is when compiling with -O2 flag on Linux 64bit. For some reason that I have yet to figure out, the gnuc compiler optimizations invalidates the code in the as_callfunc_x64_gcc.cpp file. I think I've managed to get it to work with returning normal floats or doubles, but it is still failing when returning a POD structure with floats. Like the vector3 structure that you're using in your project.

I believe it is just a minor adjustment that is needed to the code to protect it against the optimizations, but without a way to actually debug the code myself it has been very hard to figure out.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

You are more than welcome to use my server, if you are willing to use command line. Just PM me if you would like access.

This topic is closed to new replies.

Advertisement