You are not logged in.
Pages: 1
Hi Arnaud,
compiling with new 32Bit Compiler for Release Mode, we get the following Error:
[dcc32 Fataler Fehler] mormot.core.interfaces.pas(8256): F2084 Interner Fehler: C2802
The Reason is:
TDocVariant.NewFast(result);
With this WorkAround it works:
var LResult : variant;
TDocVariant.NewFast(LResult);
result := LResult;
Rad Studio 12.3 Athens / 13.0 Ganymede
Offline
there are only 2 Places where i got the Error
mormot.core.variants.pas - 9400
and the above unit
Rad Studio 12.3 Athens / 13.0 Ganymede
Offline
Yes, you are right.
This is a Delphi 13 bug.
But it was reported, and this ticket is opened on Embarcadero side:
https://github.com/synopse/mORMot2/issues/380
Nice finding the workaround.
It is indeed an inlining issue. Hope they will fix this in their first patch, coming in the next weeks, I hope.
In the meanwhile, I tried to circumvent the issue:
https://github.com/synopse/mORMot2/commit/4be675bc5
Should not change much in terms of performances.
Offline
There's also an issue with compiling mormot 1: [dcc32 Fatal Error] SynMongoDB.pas(6863): F2084 Internal Error: C2802. https://github.com/synopse/mORMot/blob/ … .pas#L6863
Also, due to the new noreturn directive, a warning has appeared: [dcc32 Hint] SynCrypto.pas(6282): H2077 Value assigned to 'ThreadWrapper' never used.
function ThreadWrapper(var P: TThreadParams): Integer; stdcall;
begin
with P do
AES.DoBlocks(bIn,bOut,bIn,bOut,BlockCount,Encrypt);
ExitThread(0);
result := 0; // make the compiler happy, but won't never be called
end;
You had to add an unnecessary assignment to result in the code to make one compiler version happy, but now a new one has appeared and it's sad...
Offline
Thank you it works
Rad Studio 12.3 Athens / 13.0 Ganymede
Offline
Pages: 1