Hi again,
FPC has problems with examples attached with
http://bugs.freepascal.org/view.php?id=25607 . The bug is caused by improper "calculation of distance" for methods with default parameter (methods with default parameter are ignored for few scenarios so compiler can't determine).
During my detailed research I discovered that Delphi implementation has small bug (VMT is ignored for scenario E01 and E03 which is totally improper).
I have made patch for this bug attached to #25607 : http://bugs.freepascal.org/file_download.php?file_id=25047&type=bug
FPC black list details:
E01 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e01-pas {E01 Delphi | FPC with calc_distance }
TA.Create | TB.Create
TB.Create | TB.Create
TB.Create | TB.Create
E02 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e02-pas {E02 Delphi | FPC with calc_distance }
TA.Create | TA.Create
TA.Create | TA.Create
TA.Create | TA.Create
E03 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e03-pas {E03 Delphi | FPC with calc_distance }
TA.Foo | TB.Foo
TB.Foo | TB.Foo
TB.Foo | TB.Foo
E04 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e04-pas {E04 Delphi | FPC with calc_distance }
TA.Foo | TA.Foo
TA.Foo | TA.Foo
TA.Foo | TA.Foo
E05 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e05-pas {E05 Delphi | FPC with calc_distance }
TB.Foo | TB.Foo
E06 source:
https://gist.github.com/maciej-izak/f312ff683406e2b16003ee67ee1a95d1#file-e06-pas {E06 Delphi | FPC with calc_distance }
TA.Foo | TA.Foo
