[Bug 283126] emulators/mame: fix build with clang 18 and 19
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 283126] emulators/mame: fix build with clang 18 and 19"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Dec 2024 19:52:45 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283126
--- Comment #3 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/ports/commit/?id=d76e4adce969f7a3da6e7398cca26dca70cec559
commit d76e4adce969f7a3da6e7398cca26dca70cec559
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-12-03 09:22:18 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-12-04 19:51:46 +0000
emulators/mame: fix build with clang 18 and 19
During the exp-run for bug 283013 ("update LLVM_DEFAULT to 18") it
turned out that emulators/mame fails to compile, with an error similar
to:
../../../../../3rdparty/sol2/sol/sol.hpp:19875:31: error: address of
overloaded function 'call' does not match required type 'int (lua_State *)'
19875 | lua_CFunction freefunc =
&function_detail::upvalue_this_member_variable<C, Fx>::template
call<is_yielding, no_trampoline>;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upstream fixed this with [1] and [2].
Similarly, compiling it with clang 19, we run into another error:
../../../../../3rdparty/sol2/sol/sol.hpp:6755:10: error: no member named
'construct' in 'optional<type-parameter-0-0 &>'
2191 |
this->construct(std::forward<Args>(args)...);
| ~~~~ ^
Upstream fixed this with [3].
Apply these upstream fixes using PATCH_SITES and PATCHFILES.
[1] https://github.com/mamedev/mame/commit/4da99a13f5c
[2] https://github.com/mamedev/mame/commit/b7e0fa72b92
[3] https://github.com/mamedev/mame/commit/c75845b1ef0
PR: 283126
Approved by: agh@riseup.net (maintainer)
MFH: 2024Q4
emulators/mame/Makefile | 5 +++++
emulators/mame/distinfo | 8 +++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
--
You are receiving this mail because:
You are the assignee for the bug.