- Fixed incorrect C code generation in final mode when creating an ARRAY of expanded type.
- Fixed incorrect C code generation in final mode when creating a complex object which contains expanded objects that have expanded objects.
- Fixed random crash issue in finalized applications due to incorrect memory management when you have code similar to:
f (g: STRING): ANY is
do
Result := create {STRING}.make_from_string (g)
end
- Fixed issue withdeep_equal on ARRAY of expanded types which was returning
False
where it should have returned
True
.
- Fixed code generation issue with double constants where code below was not producing the expected result of 1e+030:
value: DOUBLE is 1.0e15
print (value * value)
- Fixed issue in melted code where computation such as INTEGER_X // INTEGER_Y will either crash or give an incorrect computation where X and Y represents integers that are either 8, 16, 32 or 64 bits long and X < Y.
- Fixed incorrect C code generation of finalized code when your project configuration includes a precompiled library and that you cancel finalization process at degree -2, and then restart a finalization.
- Fixed issue with incorrect C code generation of inspect instruction based on character values above 128.
- Fixed compilation crash at degree 3 with following code:
local
i: INTEGER
do
i := << 1 >> @ 2
end
- Fixed a crash in finalized mode with invariant checking enabled with following code and when checking the invariant triggers a garbage collection cycle:
value: INTEGER
is_value_required: BOOLEAN is
do
Result := value = 1
end
- Fixed crash of compiler at degree 4 while trying to compile this incorrect class:
class CRASH
inherit
CHAIN
create
make
feature
make is
do
end
index: INTEGER is
do
end
duplicate (n: INTEGER): like Current is
do
end
end
- Fixed issue with pathological memory allocation scheme that could trigger an `out of memory' exception where enough memory is still available.
- Fixed incorrect allocation of expanded arrays where creation routine of expanded class was not called on all items of the newly created array.
- Fixed incorrect creation type of attribute where attribute's type has some generic parameter. In some cases, instead of creating an ARRAY [B2 [C]] it would create an ARRAY [B2 [STRING]].