Delphi compile-time integer conversion warnings?

Viewed 836

In Delphi XE or 2006, is there any way to detect at compile time that implicit conversions between integer types may lose data? I realize it's possible to detect this with runtime checking. I would want it to flag the following example even if the "big" value were 1. (We're considering changing int to bigint for certain database keys and want to determine the impact on a large legacy codebase.)

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  small: Integer;
  big: Int64;
begin
  big := 3000000000000;
  small := big;  // Detect me!

  Writeln(small);
end.
2 Answers

In Delphi, even in Delphi 10.3 -- no. But take a look into software calling 'Pascal Analyzer', mfg by www.peganza.com

They have a lot of options and one of them is (taken from software Help):

enter image description here

Source code for test, take a look into line #32:

enter image description here

Analyze result show possible bad assignment in line #32:

enter image description here

Related