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