summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/sol2/sol
Commit message (Collapse)AuthorAgeFilesLines
* 3rdparty/sol2: Fixed build with clang 19. Vas Crabb2024-11-181-6/+3
| | | | | | sol::optional<T&>::emplace was broken, and depended on the compiler not checking that members exist if the template wasn't instantiated. See ThePHD/sol2#1606 and ThePHD/sol2#1648.
* 3rdparty/sol2: Work around another place where noexcept depends on class ↵ Vas Crabb2024-05-081-1/+7
| | | | template arguments.
* 3rdparty/sol2: Worked around apparent regression in clang 18. Vas Crabb2024-05-081-1/+7
| | | | | | | | | When taking a pointer to a static member function template in a class template, clang reports a substitution error if the noexcept specification uses an expression that depends on class template arguments. See llvm/llvm-project#91362 on GitHub.
* Various updates, mostly around Lua: Vas Crabb2023-03-073-3434/+6160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compile Lua as C++. When Lua is compiled as C, it uses setjmp/longjmp for error handling, resulting in failure to unwind intermediate stack frames. Trying to ensure no objects with non-trivial destructors are in scope when raising a Lua error is error-prone. In particular, converting an exception to a Lua error becomes convoluted, and raising a Lua error from a constructor is effectively impossible. Updated Lua to 5.4.4 - this includes a brand-new garbage collector implementation with better performance. The main thing removed is the deprecated bitlib. Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes a number of issues, including not correctly handling errors when Lua is built as C++. Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic links on Windows, as well as Lua 5.4 compatibility. Updated LuaSQLite3 to version 0.9.5 - this fixes issues in multi-threaded environments, as well as Lua 5.4 compatibility. Fixed double-free after attempting to construct a debugger expression from Lua with an invalid string, and exposed expression error to Lua in a better way. Added warning level print function to Lua. Fixed saving cheats with shift operators in expressions, although this code isn't actually used as there's no cheat editor.
* Minimal changes to sol2 and bgfx to compile as C++17. Vas Crabb2020-11-151-1/+1
| | | | These changes should be sent upstream as pull requests.
* -Switch to building MAME as C++17. Vas Crabb2020-11-1572-14856/+27528
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* Fix SOL2 build on GCC 10.2 by working around overload resolution problem AJR2020-07-287-18/+18
|
* luaengine: reduce memory usage during compilation feos2019-10-191-1/+1
| | | | | | | | | | Previous semantics were encouraged by sol2, and ThePhD admitted it was a bad idea for usertypes with lots of members. sol3 allows to assign members outside a constructor for regular usertypes, but mame can't move to sol3 because it requires C++17. Turns out sol2 also has a way to add members separately, and that is what I used. This helps immensely. This approach required a fix to warning C5046 copied from here https://github.com/ThePhD/sol2/commit/57990845726e17fba11a39cfcb1fc0127a7ea638 Tested current mame plugins, everything seems to work. PS: Due to come black magic, if I use simple_usertype::set() with "manager" as well, "machine" member dies (others are fine!), so I had to leave it intact.
* Update sol2 (nw) Miodrag Milanovic2017-02-0539-201/+566
|
* luaengine: use initializers (nw) cracyc2016-11-1512-168/+261
|
* update sol2 (nw) cracyc2016-11-071-1/+1
|
* update sol2 (nw) cracyc2016-11-062-21/+21
|
* make safe usertypes safer (nw) cracyc2016-11-061-0/+3
|
* Updated sol2, made lua console not crash for nil data (nw) Miodrag Milanovic2016-11-0621-231/+1704
|
* Added sol2 header only library as future replacement for luabridge (nw) Miodrag Milanovic2016-10-0767-0/+12949