Bug 293163 - devel/ispc: fix build with libc++ >= 20
Summary: devel/ispc: fix build with libc++ >= 20
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Dimitry Andric
URL:
Keywords:
Depends on:
Blocks: 292067
  Show dependency treegraph
 
Reported: 2026-02-13 19:10 UTC by Dimitry Andric
Modified: 2026-02-16 20:05 UTC (History)
0 users

See Also:
yuri: maintainer-feedback+


Attachments
devel/ispc: fix build with libc++ >= 20 (2.15 KB, patch)
2026-02-13 19:13 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2026-02-13 19:10:26 UTC
With libc++ 20 or higher devel/ispc fails to build, with errors similar
to:

    /wrkdirs/usr/ports/devel/ispc/work/ispc-1.30.0/src/util.cpp:51:11: error: '__libcpp_verbose_abort' is missing exception specification 'noexcept'
       51 | void std::__libcpp_verbose_abort(char const *format, ...)
          |           ^
          |                                                           noexcept
    /usr/include/c++/v1/__verbose_abort:24:28: note: previous declaration is here
       24 |     __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _NOEXCEPT;
          |                            ^

This is because ispc attemps to override __libcpp_verbose_abort(), which
is an internal libc++ function, but it misses a noexcept specification.

However, overriding __libcpp_verbose_abort() is only necessary on older
versions of macOS. Therefore, exclude the whole #if block if the
operating system is not macOS.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2026-02-13 19:13:44 UTC
Created attachment 268032 [details]
devel/ispc: fix build with libc++ >= 20
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2026-02-15 22:50:52 UTC
Approved.
Comment 3 commit-hook freebsd_committer freebsd_triage 2026-02-16 19:59:23 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e4b498d8a085a273bd7a18f1edba01d2db3508b2

commit e4b498d8a085a273bd7a18f1edba01d2db3508b2
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-02-13 12:49:34 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-02-16 19:56:51 +0000

    devel/ispc: fix build with libc++ >= 20

    With libc++ 20 or higher devel/ispc fails to build, with errors similar
    to:

        /wrkdirs/usr/ports/devel/ispc/work/ispc-1.30.0/src/util.cpp:51:11: error: '__libcpp_verbose_abort' is missing exception specification 'noexcept'
           51 | void std::__libcpp_verbose_abort(char const *format, ...)
              |           ^
              |                                                           noexcept
        /usr/include/c++/v1/__verbose_abort:24:28: note: previous declaration is here
           24 |     __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _NOEXCEPT;
              |                            ^

    This is because ispc attemps to override __libcpp_verbose_abort(), which
    is an internal libc++ function, but it misses a noexcept specification.

    However, overriding __libcpp_verbose_abort() is only necessary on older
    versions of macOS. Therefore, exclude the whole #if block if the
    operating system is not macOS.

    PR:             293163
    Approved by:    yuri (maintainer)
    MFH:            2026Q1

 devel/ispc/files/patch-src_util.cpp (new) | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
Comment 4 commit-hook freebsd_committer freebsd_triage 2026-02-16 20:00:28 UTC
A commit in branch 2026Q1 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b961319a394339f411f1ac176a422c343320cca3

commit b961319a394339f411f1ac176a422c343320cca3
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-02-13 12:49:34 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-02-16 19:59:36 +0000

    devel/ispc: fix build with libc++ >= 20

    With libc++ 20 or higher devel/ispc fails to build, with errors similar
    to:

        /wrkdirs/usr/ports/devel/ispc/work/ispc-1.30.0/src/util.cpp:51:11: error: '__libcpp_verbose_abort' is missing exception specification 'noexcept'
           51 | void std::__libcpp_verbose_abort(char const *format, ...)
              |           ^
              |                                                           noexcept
        /usr/include/c++/v1/__verbose_abort:24:28: note: previous declaration is here
           24 |     __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format, ...) _NOEXCEPT;
              |                            ^

    This is because ispc attemps to override __libcpp_verbose_abort(), which
    is an internal libc++ function, but it misses a noexcept specification.

    However, overriding __libcpp_verbose_abort() is only necessary on older
    versions of macOS. Therefore, exclude the whole #if block if the
    operating system is not macOS.

    PR:             293163
    Approved by:    yuri (maintainer)
    MFH:            2026Q1

    (cherry picked from commit e4b498d8a085a273bd7a18f1edba01d2db3508b2)

 devel/ispc/files/patch-src_util.cpp (new) | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)