Incorrect hint (5023) "unit not used", if unit is only used in a conditional compiler expression (like: {$IF ..})
Consider the follwoing program:
program test;
uses
Version;
begin
{$if TheVersion >= 1}
writeln('Version 1 or higher');
{$else}
writeln('Version < 1');
{$endif}
end.
unit version;
interface
const
TheVersion = 1;
implementation
end.
Compile with -vh You get the hint: Unit "version" not used in test
This is obviously not true, without the unit version, the program won't compile.