Skip to content

Processing of {$UNITPATH} directives doesn't get reported in the verbose compiler output

Summary

When running the compiler with -vtb switch, it doesn't report unit paths added with the {$UNITPATH} directives.
At the same time, paths added by the -Fu switch are reported as expected.

I haven't checked, but the same might be true for other {$*PATH} directives as well.

System Information

  • Operating system: Windows 7 Ultimate x64
  • Processor architecture: x86-64
  • Compiler version: 3.2.2
  • Device: Computer

Steps to reproduce

program unitpath_bug;

{$UNITPATH ..}
{$UNITPATH test}

begin
  WriteL('compile me with -vtb')
  ReadLn();
end;

Let's assume this is saved as %USERPROFILE%\Desktop\bug_mre\unitpath_bug.lpr.

What is the expected (correct) behavior?

The compiler output with -vtb switch should have the following lines present:

  • Assuming this is compiled using fpc -vtb unitpath_bug.lpr from %USERPROFILE%\Desktop\bug_mre\ as cwd:
    Using unit path: ..\
    Using unit path: .\test\
  • Assuming this is compiled using fpc -vtb %USERPROFILE%\Desktop\bug_mre\unitpath_bug.lpr from an unrelated cwd:
    Using unit path: C:\Users\lmaokek\Desktop\
    Using unit path: C:\Users\lmaokek\Desktop\bug_mre\test\

What is the current bug behavior?

No associated lines are printed.

Edited by Dmitry D. Chernov
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information