[fpc-devel] CPU386 <> CPUi386

Michael Van Canneyt michael at freepascal.org
Wed Jul 15 15:44:43 CEST 2026



On Wed, 15 Jul 2026, Martin Frb via fpc-devel wrote:

> Maybe someone has an answer.
>
> Seems to be a language barrier on the 
> issue  https://gitlab.com/freepascal.org/lazarus/lazarus/-/work_items/42419
>
>
> I don't know if the relevant changes have already been merged to fpc main?
> (compiling for aarch64 on windows)
>
> If so, then the below question come up.
>
> According to the patch, the
>  {$IFDEF CPU386} does not work
> but
>  {$IFDEF CPUi386} does  (with an "i" in the cpu name.
>
> But according to docs, both should be equal: 
> https://www.freepascal.org/docs-html/prog/progap7.html
> | CPU386 | Free Pascal target is an Intel 80386 or later. | | CPUI386 | 
> Free Pascal target is an Intel 80386 or later.
>
> Has there been a change?

No. Compiler sources are the reference. options.pas:

      {$ifdef i386}
         def_system_macro('CPU86');
         def_system_macro('CPU87');
         def_system_macro('CPU386');
       {$endif}

       { new processor stuff }
       {$ifdef i386}
         def_system_macro('CPUI386');

So both are defined for i386

Michael.


More information about the fpc-devel mailing list