Recent

Author Topic: FPC 3.3.1 Assigned - error. Android x86(i386)/arm32(armv7a). -O2  (Read 437 times)

Seenkao

  • Hero Member
  • *****
  • Posts: 649
    • New ZenGL.
Привет всем!
У меня объявлена процедура и при попытке проверить данную процедуру при оптимизации O2 выдаёт ошибку:
Quote
Error: Illegal type conversion: "untyped" to "LongWord"
если производить компиляцию при оптимизации O1 то компилируется всё нормально. Данная ошибка возникает при компиляции проектов Android с архитектурами x86(i386)/arm32(armv7a). Если компилировать под архитектуры x86_64/ARM64(aarch64) и выставить O2, то таких проблем не возникает.
Если использовать FPC 3.2.2 с оптимизацией O2, таких проблем тоже нет ни с одной из всех четырёх архитектур.
Код и параметры системы выкладываю ниже.
Большая просьба, не надо мне писать, чтоб я использовал то что работает. Я делаю программу для общего пользования и стараюсь чтоб на большинстве используемых людьми компиляторов, ошибок не возникало. Если это ошибка компилятора, то пожалуйста исправьте её. Я специально проверил на двух разных системах, так как часто встречаюсь с ошибками, которые могут проявляться на одной ОС и не проявляться в другой.


Google translate:
Hello everyone!
I have a procedure declared and when I try to check this procedure during optimization O2 gives an error:
Quote
Error: Illegal type conversion: "untyped" to "LongWord"
if you compile with O1 optimization, everything compiles fine. This error occurs when compiling Android projects with x86(i386)/arm32(armv7a) architectures. If you compile for x86_64/ARM64(aarch64) architectures and set O2, then such problems do not arise.
If you use FPC 3.2.2 with O2 optimization, there are no such problems with any of the four architectures.
I am posting the code and system parameters below.
Please, don't tell me to use something that works. I'm making a program for general use and I try to make sure that errors don't occur on most compilers that people use. If this is a compiler error, please fix it. I specifically tested it on two different systems because I often encounter errors that may appear on one OS and not on another.


OS: Debian 11/12
FPC 3.3.1
Code: Pascal  [Select][+][-]
  1. ...
  2. var
  3.   SetUserMode: procedure;
  4. ...
  5. procedure NNNN;
  6. begin
  7. ...
  8.   if Assigned(SetUserMode) then       // <-- error
  9. ...
  10. end;
  11.  
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

 

TinyPortal © 2005-2018