[Bug 292672] lang/clisp: fix build with clang >= 20

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 23 Jan 2026 10:06:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292672

            Bug ID: 292672
           Summary: lang/clisp: fix build with clang >= 20
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: dim@FreeBSD.org

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.

--- Comment #1 from Bugzilla Automation <bugzilla@FreeBSD.org> ---
Maintainer informed via mail

-- 
You are receiving this mail because:
You are the assignee for the bug.