Closed imp5imp5 closed 2 years ago
very well, seems valid.
I'm looking into those, thank you.
Maybe this relates to one of the cases @imp5imp5 already posted, but this piece of code results in the same assertion failed (npos < _vlocals.size(), file sqfuncstate.cpp, line 291) when compiled:
local test = 0; function Foo(f) { if (sin(0) == test += f;
(We're using an embedded Squirrel code editor in our game engine, and it auto-compiles the code every time the user stops writing. That assert keeps popping up occasionally when it's compiling incomplete code.)
Fixed, thanks to @VasiliyRyabtsev for some of the fixes.
The crash issue when compiling strings like local test; function Foo(f) { 3 == test += 2;
still persist after these fixes.
The crash issue when compiling strings like
local test; function Foo(f) { 3 == test += 2;
still persist after these fixes.
This is fixed in https://github.com/GaijinEntertainment/quirrel/commit/ffb290cc8e4f9349497f458a444f5767b47329ec Unfortunately it is not that easy to backport this to original Squirrel
--base
Assertion failed: npos < _vlocals.size(), file D:\src\squirrel\squirrel\sqfuncstate.cpp, line 291delete base
Assertion failed: npos < _vlocals.size(), file D:\src\squirrel\squirrel\sqfuncstate.cpp, line 291x-- = 1
Assertion failed: npos < _vlocals.size(), file D:\src\squirrel\squirrel\sqfuncstate.cpp, line 291local x; @() !x = 1
Exception thrown: read access violation. sqvector<__int64>::back(...) returned 0xFFFFFFFFFFFFFFF8