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 (cherry picked from commit d76e4adc)
Loading
Please register or sign in to comment