trunk incorrectly inlines on linux/unix
Original Reporter info from Mantis: MageSlayer @MageSlayer
-
Reporter name: Denis Golovan
Original Reporter info from Mantis: MageSlayer @MageSlayer
- Reporter name: Denis Golovan
Description:
MFriebe: Moved orig description to "additional info". Last Note from reporter:
----------------------
I've attached the project1.lpr showing the issue.
Basically it shows the problem is nor in widestring manager, nor codepage, but it's a compiler bug.
It sends the same argument twice to WideCompareText instead of actual parameters. That results in as if WideCompareText returns 0 for every combination of its arguments.
I suspect it has something to do with making WideCompareText inline, as adding non-inline version like following solves the issue.
function WideCompareText(const s1, s2 : WideString) : PtrInt;
begin
result:=widestringmanager.CompareTextWideStringProc(s1,s2);
end;
Additional information:
Hi
Trying to attach TSynCompletion component to TSynEdit with case-sensivity off does not work. I've attached a patch to fix the issue. It works only for UTF8 enconding, but I guess Lazarus uses it anyway.
====skipped============
FAutoComplete:=TSynCompletion.Create(nil);
FAutoComplete.OnExecute:=@OnAutoCompleteExecute;
FAutoComplete.CaseSensitive:=False; //!!!
====skipped============
Tested against Lazarus rev. 43021
Mantis conversion info:
- Mantis ID: 25156
- Monitored by: » @martin_frb (Martin Friebe)