Hallo,
kann man den Delphi-Compiler erzwingen, eine Warnung bei Zuweisung von signed/unsigned Variablen auszulösen? z.B. im folgenden Fall:
procedure f1();
var
li : longint;
lw : longword;
begin
li := -1;
lw := li; // ==> hier findet eine Bereichsüberschreitung statt.
...
end;
In diesem Fall gibt Delphi keine Warnung aus. Die Anweisung ist aber gefährlich, da zur Laufzeit eine
Exception ausgelöst werden kann!
Wann man dagegen "li := li + lw" schreibt, dann wird folgende Warnung erzeugt: "W1024: Combining signed and unsigned types - widened both operands"
Auch im ersten Fall hätte ganz gerne die Warnung W1024 oder eine alternatibe Warnung. Ich kenne PC-Lint für C - man wird bei solchen Zuweisungen hingewiesen!
Ich habe den CodeHealer und den Peganza Pascal Analyzer ausprobiert, diese lösen keine Warnung aus!