Repository navigation
3.5.1
Two parser bugs inherited from upstream MIDletPascal 3.5 are fixed:
- A function that assigns
resultmore than once crashed the compiler with a segmentation fault, on every platform. The firstresult :=freed the routine's name; the second one read freed memory. - On the static ARM64 build, any program that produced a warning compiled to nothing: exit status 0, no
M.class, no message.error_countwas declaredintin the parser but definedshort, so the parser readwarning_countin the upper half of the value.
The test data now holds Selftest, one program written to use every type, statement, extension and runtime helper class the compiler knows. It compiles in both math modes, and on a device it checks its own results against known answers. It replaces the four canvas demos, which exercised little that CatchRect did not. Writing it is what found both bugs.
Prebuilt binaries for:
- Linux x86_64 (dynamic and static) and ARM64 (static)
- Android arm64-v8a, armeabi-v7a and x86_64 (API 21, NDK r29; the 64-bit ones use 16 KB-aligned
LOADsegments)
All six were verified by compiling Selftest in both math modes and the full CatchRect project: every build's class files are byte-identical to the native x86_64 output, and they carry the required StackMap attributes.
Full Changelog: 3.5.0...3.5.1