P.S. The issue can be found here: https://bugs.freepascal.org/view.php?id=36507

On 03/01/2020 09:45, J. Gareth Moreton wrote:
Hi everyone,

So I reported this morning that Lazarus no longer builds as of r43826.  Ondrej was quick to update the Lazarus sources to allow it to build again and marking the issue as fixed, but the underlying regression in the Free Pascal Compiler still exists.

Basically, the compiler failed on constructs like this

  with InputHistories.HistoryLists.GetList('BuildExecBefore',true,rltCaseSensitive) do begin
    Assign(ExecuteBeforeCommandComboBox.Items);
    Push(Options.ExecuteBefore.Command);
  end;

The fix was to replace it with the following (ide/frames/compiler_compilation_options.pas - line 394):

  HL := InputHistories.HistoryLists.GetList('BuildExecBefore',true,rltCaseSensitive);
  HL.Assign(ExecuteBeforeCommandComboBox.Items);
  HL.Push(Options.ExecuteBefore.Command);

Given the "illegal qualifier" errors that appeared, I'm guessing the issue is that "Options" is also a property of the THistoryList class as well as a local variable.  Technically speaking though, this is a regression unless it's to be documented (and hence break backward compatibility) that if you have a property and a local variable of the same name, the property takes precedence.

Gareth aka. Kit

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to