Open SamuraiCrow opened 4 years ago
Under new version tested under MorphOS, the list still doesn't show up but the WriteF statement may be the culprit. When breaking up the WriteF to accept one parameter at a time, all but the last parameter now shows up.
Getter is returning 0 or NIL to both the listHash and the pointerHash. The problem is either with the compiler or hashBase.
I rewrote hashBase module to eliminate a pure virtual constructor. (How did I ever expect that to work?) It still returns a bunch of NILs, however my attempt at writing a minimal test case still consistently works. Is there no way to recreate this bug reliably or eliminate it definitively?
This may involve stack corruption. @mness1978 had found similar stack corruption in the CreativE builds in Assembly. This may need more serious consideration.
Can you explain more accurately where the issue lies and what the symptoms are? I tried compiling the listhashtest using evo and then ecx targeting os3 and os4 and got similar results with all 3
When I declare an E-List inline, I'd sometimes get a NIL value. The test code is from the EEC framework in the hash data structures. https://github.com/EEC-Developers/framework/blob/master/Hash/ListHashTest.e is one I've never gotten to work right.
I don't think I can recreate this
It may be an artifact of another, already-solved bug. I'll see if I can re-create it myself. If not, I'll just close it. Thanks for looking, @dmcoles .
I did find an issue and some inconsistency around how ecx works vs original E/E-VO in relation to lists though. I've sent you a pm on Facebook as it may be easier to discuss. I think it would be good to have consistency between these compilers
Thanks for looking again! I'm not often on Facebook anymore but I'll look.
Line 7656 in eecmain.e is one place to look because that's where elists are parsed.
When trying to run the list hash test in framework, it doesn't produce a pointer to an EList constant.