[Lazarus] Compilation aborted!
Donald Ziesig
donald at ziesig.org
Sun Feb 18 18:51:49 CET 2018
On 02/18/2018 04:02 AM, Mattias Gaertner via Lazarus wrote:
> On Sat, 17 Feb 2018 22:35:17 -0500
> Donald Ziesig via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
>
>> [...]
>> Isolated it to FPC. Ran fpc from terminal without IDE. Got same error
>> (AV). It is getting late here. I will look at this in the morning.
> Maybe you got messed up ppu files, or you messed up unit paths.
>
> Mattias
I found the problem! It is definitely a compiler bug (compiler did NOT
report the actual error, all it did was throw an Access Violation).
Unfortunately, I had changed one more line than I remembered during the
last edit before the failure.
That line was (in the type(s) declaration:
TAMBytes = array[0..1] of Byte;
I changed it to:
TAMBytes = array[0..High(Integer)] of Byte;
Type TAMBytes was used as the return type is several functions. When I
commented out ALL of the code that used TAMBytes, the error went away.
Since TAMBytes was the only consistent item in that code, I checked its
declaration and remembered the other :-[ change I made. Reverted that to
the original version and the compilation succeeded. Finally changed it to:
TAMBytes = array[0..32767] of Byte;
This also compiled successfully, and was big enough that it will handle
much bigger arrays than I expected to use.
I will create a simplified test case and submit a bug report to Free Pascal.
Thanks for putting up with my earlier complaints.
Don Ziesig
More information about the Lazarus
mailing list