Lazarus

Free Pascal => General => Topic started by: Seenkao on September 20, 2021, 06:54:41 am

Title: Assembler. Internal compiler error.
Post by: Seenkao on September 20, 2021, 06:54:41 am
Rus:
Во внутреннем компиляторе команда movq len,%ecx скомпилируется без ошибки (не соответствие размерности команды и регистра, должен быть регистр rcx). Внешний ассемблер сообщит об ошибке, но не в указанном месте.

Получается что при достаточно большом коде, мы не сможем найти ошибку, пока не переберём весь код вручную.

Eng:
In the internal compiler, the command movq len,%ecx is compiled without an error (there is no correspondence between the dimension of the command and the register, there must be a register rcx). The external assembler will report an error, but not at the specified location.

It turns out that with a sufficiently large code, we will not be able to find the error until we manually iterate through the entire code.
Title: Re: Assembler. Internal compiler error.
Post by: PascalDragon on September 20, 2021, 09:02:06 am
In the internal compiler, the command movq len,%ecx is compiled without an error (there is no correspondence between the dimension of the command and the register, there must be a register rcx).

Please report a bug.

The external assembler will report an error, but not at the specified location.

It turns out that with a sufficiently large code, we will not be able to find the error until we manually iterate through the entire code.

There's nothing we can do about the external assembler. You could report a bug directly with them of course.
TinyPortal © 2005-2018