Commit Graph

37 Commits

Author SHA1 Message Date
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
e892aa3470
Update single config 2021-01-20 13:59:06 -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
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
ThePhD
30019c4076
Freeze current progress 2020-12-06 00:41:32 -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
ThePhD
e108f8bbbf
Work around non-constexpr boost shenanigans....... 2020-10-24 04:53:21 -04:00
ThePhD
651b90ba24
Fix boost build and optimize for lua_newuserdatauv 2020-10-23 18:59:07 -04:00
ThePhD
c068aefbed
Update single versions 2020-10-15 01:19:38 -04:00
ThePhD
e5e6466e09
Fix configuration macros
- Enable all necessary configuration macros to be deliberately shut off, appropriately
- Fix version macro headings
2020-10-15 01:18:12 -04:00
ThePhD
48e5fc9e44
Fix unorded_map derp 2020-10-03 17:34:34 -04:00
ThePhD
48eea7b573
New Unsafe Feature: Function Pointers!
- Not at all type safe: there should be some investigation into making it less unsafe to work with these things (albeit it looks like it would cost +1 pointer to serialize a string name for each callable in Lua, at LEAST)
- Must be opted into - see the documentation
- Fixes #1015
- A few drive-by fixes here and there
- New configuration test harness with CMake
2020-09-26 09:46:11 -04:00
ThePhD
1fb483db91
Update single 2020-09-26 06:48:11 -04:00
ThePhD
000fa31809
Heavily improve usage of Preprocessor checks
- Weed out bugs in the numeric checking implementation
- Solve the problem with load_result/protected_function_result/unsafe_function_result being copyable and thus amenable to explosions. Fixes #995.
- Resolve the warning in sol::readonly. Fixes #1000.
- Looke into #1014. Not sure I can help there, honestly; looks like a mix up of multiply-loaded libraries and mixing the two.
2020-09-26 06:47:32 -04:00
ThePhD
e89b6ac2e7
Actually use the correct value instead of pushing without saving the file
- I promise
- I am smarter than I commit
2020-09-08 20:47:39 -04:00
ThePhD
e4f588d18c
Turns out I'm not very smart - who knew?! 2020-09-08 20:17:12 -04:00
ThePhD
275ae2c096
Fix ambiguous overload for array vs. pointer
- Arrays vs. pointers continue to be the bane of my existence in working with """text""" in C++.
- Fixes #1001 and the issue that was ongoing in Mugen.
2020-09-05 17:46:20 -04:00
ThePhD
63df43e061
Get rid of MSVC problems and improve state API.
- Just let MSVC have crap codegen. The compiler sucks anyways. Fixes
- Add incremental GC power. Fixes #997.
- Add non-null offset manipulation. Did I mention I hate VC++ and how it implemented _Aligned? Fixes #1017.
2020-09-05 17:25:15 -04:00
ThePhD
af779f0bed
Improve the testing macros to work across platforms.
Add a note to the documentation about SOL_NO_LUA_HPP being less preferred over the C++ defines, to Fix #1013.
Add regression tests (not yet fixed) so I can get to the bottom of VC++ being ass.
2020-08-12 19:07:32 -04:00
ThePhD
5bbc095396
Improve configuration macros and other things while trying to track down ways to make MSVC stop being a butt on its latest iterations. 2020-08-09 17:17:47 -04:00