Commit graph

252 commits

Author SHA1 Message Date
ThePhD
c1f95a773c
🛠️ miscellaneous fixes 2025-03-07 22:01:35 +01:00
ThePhD
9190880c59
3.5.0 Release -- Fix a bunch of exception work and error reporting
- 🛠️ Supports lua/* prefix for header inclusion of the lua library
- 🛠️ Use luaL_error to try and retain traceback information, even when compiled as C++ (don't catchall)
- 🛠️ Revise trampoline usage by changing automatic macro detection to be more precise (e.g. Building as C++ doesn't automatically enable catchalls
- 🛠️ Use safety argument checking for the object argument, to get better error messages in certain places
- 🛠️ Pull errors more appropriately (e.g. check directly for the sol::error / sol::detail::error_exception type to make sure it gets propagated properly
2025-02-25 19:45:12 +01:00
soasis
336f76c377
🔥 Remove debug header 2025-02-07 17:29:01 +01:00
Robert Hodgson
2b0d2fe8ba Normalized the use of parenthesis when comparing a PreProcessor macro with 0 2024-07-13 10:53:41 -04:00
Robert Hodgson
469f14ee27 Corrected the pre-processor syntax by removing the defined keyword when there is an expression associated with the #if condition 2024-07-13 10:53:41 -04:00
deadlocklogic
ab83eac703 call.hpp: std::is_base_of_v<Union, Union> is false, use is_same_v 2024-07-13 10:53:17 -04:00
Rob Fischer
c4e7247b01 Fixed a typo in version.hpp 2024-07-13 10:52:06 -04:00
“Paulo
d805d027e0 fix emplace 2024-07-13 10:51:50 -04:00
loveridge
e8e122e9ce Print aux_message if there is not message 2024-01-14 11:57:52 -05:00
ThePhD
ff3f254f7b
🛠 Disable semantic difference between this and LuaJIT
💬 "This removes some performance savings, but it's the best we can do for now."
2023-07-20 00:53:31 -04:00
ThePhD
839f2a1dce
🛠 Fix up example to use cpp_object properly as the name, and other checks.
— Addresses #1454
— Remove zero-based check for certain versioning macros for Lua (need others?)
2023-07-18 13:45:11 -04:00
ShepherdSoasis
64e3823bd2 🛠 Address lifetime issues through Lua references in iterators.
📝 Fixes #1315, #1374, and #1400.
— 📝 Lifetime in iterators was referencing the wrong stack (the main thread) rather than the coroutine's stack at time of creation.
— 📝 Using main_reference/main_* objects was a suitable enough fix for most of these problems.
— 🛠 Prevent performance and usability issues from changing containers by storing the being/end iterator separately, rather than continually invoking `deferred_uc::end(…)` every time.
— 🛠 Improve sizes for stored iterators in select cases.
— 🛠 Allow for sentinel-style C++20-and-beyond ranges.
— 🔧 Improve single file generation CMake.
— 👷‍♀️ Fix up internal Lua build system issues.
2023-07-18 13:12:11 -04:00
ShepherdSoasis
973e1c3cd6 🛠 Review exhaustive check and get rid of a few Wall/pedwarn warnings 2023-01-06 23:59:33 -05:00
ShepherdSoasis
f81643aa0c 🛠 Fix exhaustive checking compilation 2022-11-09 18:33:16 -05:00
ShepherdSoasis
3592851a2a New exhaustive check feature for vectors & similar 2022-11-09 18:33:16 -05:00
Fini Jastrow
c4e843b6dd Fix clang compiler warning
[why]
Compiling with clang issues this warning (clang 10.0 and 15.0 tested):

    .../sol/sol.hpp:14541:32: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
    #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"

[how]
Check if the compiler does know the warning, before trying to turn the
warning off.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-11-09 18:31:09 -05:00
Marcel Gotsch
92cbc71c10 add to_string and is_integer utilities 2022-08-26 15:21:02 +02:00
Zach Toogood
dca62a0f02 Add static_cast to unique_index arg to silence MSVC warning 2022-06-25 13:27:29 -04:00
ThePhD
ce40e894d0
✍ Update Copyright Year 2022-06-25 04:00:53 -04:00
ThePhD
55828d1ee0
Fix #1266 2022-06-25 03:43:17 -04:00
Eric Zhang
c9055478c7 fix #1354 2022-06-24 12:57:34 -04:00
Matus Fedorko
13b7e8a7ca Fix compile error when registering new user types with operator() 2022-06-24 12:56:14 -04:00
Shepherd
3b97af0ac4 🛠 Clean up old VC++ code
🔎 Silence uninitialized warning for later inspection
2022-06-24 12:51:09 -04:00
Shepherd
323c3ca210 🛠 Prevent non-zero default initialization for result types 2022-06-24 12:51:09 -04:00
Shepherd
0a801ee656 🛠 Guard against environment over-pushing 2022-06-24 12:51:09 -04:00
Shepherd
612b469ad9 🛠 Retrieve main thread to prevent collapses on Luas
— Lua 5.1, 5.2, and 5.3 seemed to have a deficiency in which the stack thread space variable (given as a lua_State*) would die before everything referencing it would be properly dead. This made holding a reference for keep-alive purposes impossible to maintain. Therefore, we retrieve the main thread to keep it alive.
2022-06-24 12:51:09 -04:00
Shepherd
7859f53e81 🛠 Fix many missing <memory> includes 2022-06-24 12:51:09 -04:00
Shepherd
4efea0ff3c Test and fix #1315
— 🛠 Update SOL_IS_(DEFAULT_)ON/OFF usage to be more idiomatic and less confusing (add SOL_RAW_* alternatives as well)
— 💚 Re-check CI
— 👷‍♀️ Add missing header from ebco.hpp
2022-06-24 12:51:09 -04:00
Immortale
385645222a Fixed exception condition 2022-06-23 20:39:12 -04:00
ThePhD
2198d9374d
Wasteful (but needed) .is() implementation 2022-06-12 00:33:17 -04:00
Corentin Schreiber
6409634846 Don't use is_c_str_or_string for char[] detection in usertype storage 2022-04-13 20:41:17 -04:00
Corentin Schreiber
6cffb266c7 Fixed occurences of is_cstr which should have been is_cstr_or_string 2022-04-13 20:41:17 -04:00
halx99
50b62c9346 Add missing parenthesis for std::max 2022-01-03 13:48:32 -05:00
ThePhD
b43962957f
New dedicated loose table check 2021-10-23 18:13:25 -04:00
ThePhD
3b4144c6ec
Proper keep-alive semantics!
Fixes #1247
2021-10-23 17:38:50 -04:00
ThePhD
ff783a150c
c_str is not a std::string and I fucking hate it 2021-10-22 19:06:43 -04:00
ThePhD
03ec2c93cc
🛠 Fixes #1198 issuues with base in MSVC! 2021-10-22 18:30:49 -04:00
ThePhD
002233ba84
Proper read-only pair iteration!
🔨 Fix up the general build
2021-10-22 16:17:49 -04:00
ThePhD
b43cee5c9d
Preparing to separate the build from the table 2021-09-15 03:26:40 -04:00
Stephan T. Lavavej
6283d3c2be Update is_string_constructible for C++23 P2166R1. 2021-07-26 22:08:45 -04:00
Smertig
05235646ef Fix required memory size calculations, do only one pass. 2021-05-21 13:20:59 -04:00
Smertig
1a7c9fc74b Add constexpr alignment stuff 2021-05-21 13:20:59 -04:00
Smertig
8ccd92d69d Remove unused arguments 2021-05-21 13:20:59 -04:00
Smertig
4eac7a02c0 Use std::uintptr_t in alignment calculations 2021-05-21 13:20:59 -04:00
Rinat Namazov
f5355395b7 Added FFI enabled check 2021-05-15 21:58:51 -04:00
ThePhD
a3e3a62ad6
💚 Try to tamp down Clang errors 2021-05-07 03:17:24 -04:00
ThePhD
80ede904d6
💚 Some stuff to make the CI builds a bit better
- Thanks, blobthing & zasz!
2021-05-07 01:56:32 -04:00
ThePhD
7aae1aaaaa
🔨 asdhjsahd DO NOT BUILD
- Add a flag to allow size_t(-1) and similar shenanigans (SOL_ALL_INTEGER_VALUES_FIT)
- Half-fix, but not fully, for #1183, #1072, #1038, #965
- Fix #1126
- Prepare for #1061
2021-05-06 18:44:25 -04:00
ThePhD
f56b3c698c
🐛 std::variant should be properly gated... 2021-03-14 19:51:29 -04:00
ThePhD
f54138305d
🐛 Fix up the call when the stack is cleaned out 2021-03-11 19:17:00 -05:00