Commit Graph

212 Commits

Author SHA1 Message Date
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
ThePhD
e298eee99f
🐛 But on the compiler's side!
- Fixes #1128
2021-03-07 14:54:56 -05:00
ThePhD
e2b0ab9fe2
🐛 Not really a bug, but fixes #1127
- It's not at all safe. And I do not at all care - table iterators are inefficient and terrible, and there's nothing we can do to make this situation even remotely better.
2021-03-07 14:52:44 -05:00
ThePhD
a53819531d
🐛 Fix #1144 for now 2021-03-07 14:24:52 -05:00
ThePhD
d0ab12e965
🐛 Fix #1149 2021-03-07 13:43:56 -05:00
ThePhD
42716a63cf
🔨 Attempt to have assert CI not break 2021-03-06 10:53:04 -05:00
ThePhD
57d9a05f88
🎨 Refactor tutorial examples
- 🛠 Make sure the tutorials compile across platforms!
- ✍ Redo quite a bit of the documentation
2021-03-06 10:14:48 -05:00
ThePhD
8618e39486
🛠 Prepare for the a sol4 release...
- 🎨 Refactor the CMake a whle bunch
2021-03-06 01:03:23 -05:00
ThePhD
d4b13ff864
Joy, missed an underscore 2021-02-14 00:45:14 -05:00
ThePhD
37d891fa40
Give constexpr macro a better name
- Put it in the version.hpp properly
- Change its spelling and usage
2021-02-14 00:33:09 -05:00
ThePhD
4e2ee29b34
Get out of MSVC's crash on latest preview.
- Honestly, no clue if this will even work...
2021-02-14 00:28:31 -05:00
Vladimir Lichevsky
810c96b97b Support constexpr boost::none with recent Boost versions. 2021-02-10 13:10:53 -05:00
ThePhD
b77f1a2102
Fix up the pop<> behavior here... 2021-02-02 20:36:49 -05:00
ThePhD
22ecd349ab
Remove const/volatile from Type 2021-02-01 23:32:52 -05:00
ThePhD
27c352149d
Protect against empty requires 2021-01-24 22:53:35 -05:00
ThePhD
e1950b9a55
protected_function, not function 2021-01-24 12:38:37 -05:00
ThePhD
d363ccd759
Implement better insert-with-no-iterator support
- reorder constructor values to match class order
- Fix up compilation related to GCC
- Add new shim tests to confirm insertion works properly
- regenerate single
2021-01-22 01:32:42 -05:00
ThePhD
a9ff1d4187
Fix up string_view handling
- Fix mispelling for is_stackED_based_v
- Regenerate single
- Repair badly named test
- Remove unused variable names
2021-01-21 15:58:27 -05:00
ThePhD
c032cda56e
M O R E B R E A K I N G C H A N G E S
- constant_automagic_enrollments use compile-time flags to avoid crappy shenanigans with linker-unavailable methods
2021-01-21 03:26:42 -05:00
ThePhD
f7d8e1e822
Unqualify type names to transparent argments 2021-01-21 02:20:31 -05:00
ThePhD
6fde9c3f14
B R E A K I N G C H A N G E
- This is going to start the mark of v4
- pairs() implemented on tables for pairs-like iteration
- .error_handler variable is now hidden from view on protected function! Use set_error_handler/get_error_handler
- packaged_coroutine skeleton, but code is blacked out
- tests rearranged a little bit
- auxiliary keys lookup, search, and storage improved
- overhead of stored tables improved
- usertype registration and un-registration improved
2021-01-20 13:55:44 -05:00
ThePhD
68fd0c0166
Some fixups!
- Formatting on a test file
- Fix up of some errors in the usertype traits usage
2021-01-04 14:58:54 -05:00
ThePhD
955418fe13
First draft of sol_lua_check_access fixes
- Should address #1074 and #1010!
2021-01-04 05:52:30 -05:00
ThePhD
8f7d4dbb4c
Add more comprehensive unregistration tests
- Make sure multiple states don't interfere with each other's keys
- Make sure re-registration of the same type does not cause too many problems
- Make sure the variadics test is present
- Make sure the storage keys are cleared out properly
2020-12-30 09:36:23 -05:00
ThePhD
f7d99b05a5
Fold string literals better by moving them inside
- Partially addresses #1094
- Fix a warning for unreachable code (I still don't like this part of if constexpr)
- Update single
2020-12-29 21:59:28 -05:00
ThePhD
b9115623b2
Overhaul stack_field tableless handlers
- Ensure stack field_get/field_set has consistent metaprogramming for needing a pushed table, and at what offset
- Avoid duplicate logic in table_core for the same logic by deferring to detail helper
- Fixes #1095
2020-12-29 21:50:16 -05:00
atom0s
6a77d5cf42 Fix argument usage typo. 2020-12-19 02:26:27 -05:00
ThePhD
bf75afa250
Some changes for Shadowing Errors
- Not all were done, though; gave up at enumerations in an enum class being marked as shadowers.
- Which is just the dumbestt hing I've ever had to deal with. At least Clang is smarter!
2020-12-19 00:47:55 -05:00
ThePhD
4649a76507
New Workflows, More Optional Tests
- Add a test for picking deeply nested / constructible values out of an optional
- Fix up the readme to show where users can get support
2020-12-18 23:48:42 -05:00
ThePhD
220335d95c
Fix up inheritance with special metamethods
- Inheritance was causing __index and __new_index to be overriden on the named metatables
- This meant special constructors and other metamethods might not have been set properly
- Use lua_rawset to directly slam dunk the value into the table
2020-12-18 10:04:46 -05:00
ThePhD
d39330eab9
Overhaul function calls and usage
- add noexcept to some of the core function calls
- type usage for both trampolines and yields can now be fully tracked, at the expense of more template instantiations when using both
- exceptions should be less prone to explosion in C versions, but will break in C++ code (the trampolines need to be modified for usertype calls to avoid this problem, specifically)
2020-12-17 23:25:48 -05:00
ThePhD
561c90abf4
Fix a lot of errors
- Add a new feature for SOL_FUNCTION_CALL_VALUE_SEMANTICS. Fixes #1059
- Detect deprecated/removed bit32 library. Fixes #1086
- Format the entire repository. Close #1073
- SOL_LUAJIT was not being properly defined. Close #1082
- Fix alignment issue. #1071
2020-12-16 15:25:35 -05:00
dimitrisudell
5b7cf9ade9 Ignore -Wshadow and -Wconversion on Clang 2020-12-16 06:32:34 -05:00
dimitrisudell
71193eadbd Ignore unused variables 2020-12-16 06:32:34 -05:00
ThePhD
30019c4076
Freeze current progress 2020-12-06 00:41:32 -05:00
ThePhD
bd09f8e853
Remove UB with proper conditional 2020-12-06 00:41:32 -05:00
Vas Crabb
38473d39fe Add override qualifier to bad_optional_access::what() - fixes GCC -Wsuggest-override warning 2020-11-19 17:42:08 -05:00
ThePhD
ef33531df4
Fix most of the most pressing warnings
- Fixes #1000
- Fixes #1060
- Fixes #1062
- Fixes #1067
2020-11-19 16:42:02 -05:00
ThePhD
62804667ee
Fix various issues
- readonly(...) should no longer issue errors in bogus manners
- binding for member function pointers and normal pointers should behave better now
- coroutines should now properly transfer the state/identity of their error handlers
- Fix empty base class optimization type
- Improve bind traits metaprogramming
- Add new define to catch-all for exception propagation
- Improve natvis
- Move test defines to build system, as we should
- Add a new example for multiple thread/states in Coroutines
- Add proper direct to mangling in Clang for Windows
- Exceptions are still busted on some platforms (Clang being quite funky)
2020-11-19 15:12:56 -05:00
ThePhD
b8aa189e32
Revert to using 1 for lua_newuserdatauv
- This needs to be addressed in the future
- Prevents failures when "attaching" a free-standing table.
2020-11-02 05:53:57 -05:00
atom0s
63e396b996 Fix typos in configuration macros. 2020-11-02 05:33:44 -05:00