[fpc-devel] Generic method works on Linux, not on Windows?
Sven Barth
pascaldragon at googlemail.com
Sat May 30 14:28:40 CEST 2020
Am 30.05.2020 um 12:33 schrieb Yuriy Sydorov:
> On 29.05.2020 22:36, Sven Barth via fpc-devel wrote:
>> 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...
>
> See the test program and unit attached.
Thanks, I can reproduce it now. Seems that it *has* to be a method
instead of a global function. Hopefully I can now find out the issue...
Regards,
Sven
More information about the fpc-devel
mailing list