On 7/4/2018 12:09 AM, Florian Klämpfl wrote:
Am 03.07.2018 um 22:57 schrieb Ondrej Pokorny:
Probably I am the only one who thinks that the code below is ridiculous...
procedure TExternalAssemblerOutputFile.AsmWriteFiltered(p: pchar; len:
longint);
var
s: ansistring;
begin
MaybeAddLinePrefix;
s:=''; // <<< ????
setlength(s,len);
move(p^,s[1],len);
AsmWriteAnsiStringUnfiltered(decorator.LineFilter(s));
end;
---
I have split feelings: I really like to get the warning/hint at places where it makes sense so I don't want to disable
it globally. But the amount of false positives increased significantly :/
The compiler is ~400k lines and I had to fix maybe 40 locations, so I wouldn't call this significantly and there are
situations where it matters, see the result case.
I'm not happy with this 'uninitialized' warnings for vars of managed types too.
Maybe it's worth to loosen the warning rule to prevent emitting warnings when an 'uninitialized' variable of a managed
type (actually initialized) is passed as var parameter. Remove the warning or change it to a note in such case.
Yuriy.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel