CVSROOT: /cvs
Module name: ports
Changes by: [email protected] 2026/05/21 09:53:20
Modified files:
lang/clisp : Makefile
Log message:
clisp: fix build with llvm22, from FreeBSD via gkoehler
author Dimitry Andric <dim () FreeBSD.org> 2026-01-23 09:33:18 +0000
committer Dimitry Andric <dim () FreeBSD.org> 2026-02-10 19:28:50
+0000
commit d8ec68ea76d97ff43e709b813629c862a6bf8211 (patch)
tree 2250ed0cb1c604a11e64a8772bb2f48d77297877
parent 32b3ec1883f39d8d5fcb4ec827cdf249350f5e16 (diff)
lang/clisp: fix build with clang >= 20
With clang 20 or higher lang/clisp fails to build, with errors similar to:
./lisp.run -B . -N locale -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -m 2MW -M
interpreted.mem -q -c compiler.lisp -o ./
;; Compiling file
/wrkdirs/usr/ports/lang/clisp/work/clisp-c3ec11bab87cfdbeba01523ed88ac2a16b22304d/src/compiler.lisp
...
*** - LIST-INIT-START: start index 44801 too large for
(#(NIL
#S(HASH-TABLE :TEST STABLEHASH-EQ
#:WARN-IF-NEEDS-REHASH-AFTER-GC T
(#<BUILT-IN-CLASS SYMBOL> .
#<COMPILED-FUNCTION CLOS::MAKE-INSTANCE-<EMF-1>-1>)
(#<STANDARD-CLASS FUNCALLABLE-STANDARD-CLASS> .
#<SYSTEM-FUNCTION CLOS::%MAKE-INSTANCE>)
(#<STANDARD-CLASS STANDARD-CLASS> .
#<SYSTEM-FUNCTION CLOS::%MAKE-INSTANCE>)))
CLOS::COMPUTE-APPLICABLE-METHODS-EFFECTIVE-METHOD
#<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE>)
0 errors, 0 warnings
*** Error code 1
The problems are caused by clisp's usage of -fwrapv, where the
developers implicitly assume this also makes pointer wrapping defined.
After https://github.com/llvm/llvm-project/commit/1295aa2e814 however,
-fwrapv no longer implies that, and you either have to add a clang
specific -fwrapv-pointer option, or use -fno-strict-overflow, which
works for both clang and gcc.