[fpc-devel] Generic method works on Linux, not on Windows?
Sven Barth
pascaldragon at googlemail.com
Fri May 29 21:36:15 CEST 2020
Am 27.05.2020 um 00:41 schrieb Yuriy Sydorov:
> On 27.05.2020 1:01, Joost van der Sluis wrote:
>> Op 26-05-2020 om 23:36 schreef Yuriy Sydorov:
>>> Does it happen with the fpc trunk?
>>> If yes, what revision do you use? It looks like an issue with my
>>> initial implementation of the $parentfp parameter optimization.
>>> "$fin$00000037" is a reference to an internal SEH handler procedure
>>> which is a special nested procedure.
>>
>> Yes, Trunk, updated last sunday. (And today, didn't help) x86_64
>>
>>> The latest trunk for win32 compiles fine the following modified
>>> example:
>>>
>>> {$mode objfpc}{$H+}
>>>
>>> generic function CreateObjectFromJSONString<T>(AJSONString: string;
>>> ADescriptionTag: string = ''): T;
>>> begin
>>> Result := nil;
>>> end;
>>>
>>> var
>>> LaunchRequest: TObject;
>>> begin
>>> LaunchRequest := specialize
>>> CreateObjectFromJSONString<TObject>('qwe');
>>> end.
>>
>> It's this project: https://gitlab.freepascal.org/Joost/fpdserver/
>>
>> And the generic function is defined in:
>>
>> https://gitlab.freepascal.org/Joost/cerialization
>>
>> I'll try your code tomorrow. Maybe I can get an easier example.
>
> Thanks for the sources. When I put a generic function in a separate
> unit, I am able to reproduce the issue.
> Surprisingly it is not caused by my changes, since it fails even with
> earlier revisions. I've tested with r44958 and it still fails.
> It would be nice if you find the offending revision.
Would you please provide your example that fails? I can't get it to fail...
Regards,
Sven
More information about the fpc-devel
mailing list