On 22/07/2026 23:14, Jonas Maebe wrote:
On 2026-07-22 12:01, Adriaan van Os via fpc-pascal wrote:
On 22/07/2026 10:05, Pierre Muller via fpc-pascal wrote:
To cycle successfully starting from a LLVM compiler
and trying to generate a non-llvm version you will need to use
OPTLEVEL1 Makefile variable.

Check required -ClvX.Y needed by testing 'clang --version' output
and use OPTLEVEL1="-ClvX.Y -dNOLLVM -XLL"

Thanks, OPTLEVEL1="-Clv15.0 -dNOLLVM" (without the -XXL)  works for me. However, I get

I should have mentioned this when you initially asked regarding the version check issue, but doing a top-level build, or even a make cycle, using an LLVM-based compiler to build a non-LLVM-based compiler, is rather pointless. ppc1 will be compiled using the LLVM code generator, but ppc2/ppc3 will be compiled using the built-in code generator, so the finally installed compiler will (should) be identical to one you'd get when starting using e.g. FPC 3.2.2.

Yes, I got the same timing results as with the regular compiler 🙂.

To get a regular compiler built using an LLVM compiler, execute your make command inside the compiler directory (adding the options to OPT) and keep the resulting compiler binary (ppca64 in this case).

Thanks. That works with -O2 and produces a ppca64. With -O3 and -O4, I get the results below. Adding -Swe- or -Sw- didn't help.

Assembling (pipe) aarch64/units/aarch64-darwin/nmat.ll
Assembling (pipe) aarch64/units/aarch64-darwin/nmem.ll
nld.pas(1271,7) Note: Call to subroutine "procedure arrayconstructor_to_set(var p:tnode);" marked as inline is not inlined
Assembling (pipe) aarch64/units/aarch64-darwin/nld.ll
htypechk.pas(1463,12) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1523,16) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1530,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1537,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1568,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1607,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1618,28) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1634,21) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1651,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1663,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1676,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1696,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1703,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1723,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1732,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1755,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1765,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1771,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1780,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1794,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1801,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1822,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1840,26) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1848,22) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1866,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1877,18) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1894,28) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1901,27) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1905,24) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1915,24) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1925,24) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1936,24) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1943,24) Warning: (treated as error) Function result variable does not seem to be initialized htypechk.pas(1952,18) Warning: (treated as error) Function result variable does not seem to be initialized
htypechk.pas(3975) Fatal: There were 34 errors compiling module, stopping
Fatal: Compilation aborted
make: *** [ppca64] Error 1

Regards,

Adriaan van Os

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to