Commit Graph

409 Commits

Author SHA1 Message Date
ThePhD
cbd79234d8 [ci-skip] update single 2018-01-20 13:42:53 -05:00
ThePhD
a573fa217b update for travis 2017-12-29 19:00:56 -05:00
ThePhD
c5defa6d07 update single 2017-12-28 12:37:52 -05:00
ThePhD
d05769b80e fix up examples and use build log to get neat messages 2017-12-26 08:04:54 -05:00
ThePhD
002303d52b update tests and single again
add assert.hpp for better code understanding
prepare to rewrite all the damn docs, and update the tutorials...
2017-12-25 23:27:22 -05:00
ThePhD
c0660b454c fix multiply-declared forward declaration values
transition to CATCH2 (no changes really)
fix diagnostic printout for single.py
update ignores
update CMake to download CATCH single
update single
2017-12-11 12:31:30 -05:00
ThePhD
e06d2fb581 add single, add examples 2017-12-10 15:56:49 -05:00
ThePhD
c3c7f42d91 update cmakelists for new tests
fix problematic macro expansion issues
2017-12-10 01:34:48 -05:00
ThePhD
87b4dd6cba add forward declaration headers to sol2's auto-generated release headers for people who want to avoid "include everything" scenarios with the single header... 2017-12-09 02:52:08 -05:00
ThePhD
5f688537e0 stack_aligned_function cannot be influenced by SOL_SAFE_FUNCTION: it has different semantics and thus needs to remain unsafe. 2017-12-08 01:22:22 -05:00
ThePhD
36b8d50e27 I keep forgetting very simple things... 2017-12-07 22:34:51 -05:00
ThePhD
a2034bcc1c update single
prep for next version
2017-12-07 22:12:43 -05:00
ThePhD
ec020048fb i don't like you either std::array so lets agree not to be friends 2017-12-07 09:36:12 -05:00
ThePhD
a99ea97eb7 initializer problems for arrays are literally the worst part of std::array 2017-12-07 09:16:56 -05:00
ThePhD
a86e9ee62d update examples and fix error_result returns 2017-12-07 09:04:19 -05:00
ThePhD
7193115e24 fix destructor semantics of tests (fixes old iterator debug level problems)
Closes #361
add defines for #543
2017-12-07 08:24:50 -05:00
ThePhD
fe8e2245db add CXX backdoor for predictable behavior 2017-12-01 18:47:22 -05:00
ThePhD
a8b2c257da fix bad thread status 2017-11-29 13:34:54 -05:00
ThePhD
a451553131 update single with version 2017-11-21 14:35:37 -05:00
ThePhD
a0de11a773 add coroutine guard
update version
add donation link
2017-11-21 14:33:27 -05:00
ThePhD
4256c07ee0 error handling improvements
update single
2017-11-17 16:54:42 -05:00
ThePhD
4a39020df9 macro-proof the library 2017-11-17 07:20:17 -05:00
ThePhD
fa912a57f6 add cstdint header to get SIZE_MAX 2017-11-17 07:07:56 -05:00
ThePhD
6738ceedae finally fix handling of exceptions, pray to the Lord it works 2017-11-11 18:33:56 -05:00
ThePhD
2d31d84070 attempt to wrangle exception handling on multiple systems 2017-11-11 07:42:14 -05:00
ThePhD
2203c1f64f Overhaul examples
Overhaul docs for examples
Overhaul function_result and protected_function_result proxies
2017-11-09 17:41:46 -05:00
ThePhD
43dda398a0 version bump 2017-11-07 20:20:57 -05:00
ThePhD
9a0b5ef34a fixed ipairs swap bug 2017-10-30 14:38:16 -04:00
ThePhD
882f337c48 vet propagation handlers 2017-10-26 13:15:02 -04:00
ThePhD
540d322a26 update configure, tag and everything else 2017-10-26 13:03:49 -04:00
ThePhD
d107cb8cc9 allow final classes to be used
improve error reporting for stack checks
2017-10-26 12:54:30 -04:00
ThePhD
8811a268a2 improvement to how handling of safe exceptions are done 2017-10-20 20:59:52 -04:00
ThePhD
3ee36c7d2e fix proxy compare
try to silence some really dumb PVS STudio warnings
2017-10-16 19:28:43 -04:00
ThePhD
8f007074ff I REMEMBER NOW 2017-10-03 10:46:26 -04:00
ThePhD
c5505c234a I'm not the smartest. 2017-10-03 08:26:23 -04:00
ThePhD
3660aec56e continue to analyze alignment issues 2017-10-03 08:11:48 -04:00
ThePhD
74d1ba87c9 update single 2017-10-02 17:33:14 -04:00
ThePhD
e36b9b3ab5 update single 2017-09-30 23:03:26 -04:00
ThePhD
5c9e8e2e45 is_stringable trait 2017-09-28 19:07:33 -04:00
ThePhD
e31ed4f81c [ci skip] update single 2017-09-24 16:51:14 -04:00
ThePhD
0027ce6c84 make sure default userdata_getter does not error everything horribly
update single
2017-09-24 16:04:10 -04:00
ThePhD
50f749640c update single 2017-09-23 20:26:54 -04:00
ThePhD
8f3699bea5 initializer_list support and tests, waiting for the day when we can use some kind of lua_any to store any value into Lua and thus have initializer lists become the new hot stuff 2017-09-22 18:54:49 -04:00
ThePhD
290a67134a Make sure nil_t is still available, even if nil is defined.
One day, there'll be a time when I get nearly everything right
2017-09-22 11:04:46 -04:00
ThePhD
0114882e13 force usage of lua_nil across everything and add a proper macro / feature-test for it 2017-09-22 07:30:41 -04:00
ThePhD
1b23ad8b4f attempt to silence warnings about array usage and keep a definition check for nil
add some "max size" checks in other places.
2017-09-21 21:32:52 -04:00
ThePhD
61d610bb70 make minor changes for XCode and Visual Studio Warning Level 4. 2017-09-21 19:24:21 -04:00
ThePhD
76d7195e64 test new compat mode (we only test text, but I don't really generate binary files, and it seems to play ball both ways, so...) 2017-09-16 14:18:45 -04:00
ThePhD
2aecb11e97 update single 2017-09-14 08:51:12 -04:00
ThePhD
1fc00278d5 repair all constructors, expand type recognition 2017-09-14 08:45:44 -04:00
ThePhD
ed341e00aa clang error on some proxy stuff 2017-09-14 00:46:38 -04:00
ThePhD
8d828ac47b implement main_reference as per @eliasdaler's suggestions 2017-09-14 00:35:40 -04:00
ThePhD
72143a494b don't forget to pop! 2017-09-13 11:45:31 -04:00
ThePhD
a068c4e6e6 update single and bump version number for new release 2017-09-13 11:37:28 -04:00
ThePhD
7ff3a390b1 final lua_xmove fixes 2017-09-13 11:29:32 -04:00
ThePhD
dcff5cdaa0 re-implement xmove implicit transfers and hope it works proper this time 2017-09-13 10:20:24 -04:00
ThePhD
5816c6c34b .clang-format the crap out of everything, I guess...! 2017-09-13 02:46:56 -04:00
ThePhD
e3bd984062 cannot do automatic lua_xmove because of state differences 2017-09-12 22:01:29 -04:00
ThePhD
0325e27454 update single and add unused parameter checks to thread 2017-09-12 19:52:09 -04:00
ThePhD
8643dec9e5 with the xmove constructors, we finally are forced to do safety checks. 2017-09-11 16:44:02 -04:00
ThePhD
074b9ae655 add xmove constructors for function, (light )userdata, table, reference and object
add additional coroutine example
improve traits
add tests for thread transfers
update single
2017-09-11 16:12:23 -04:00
ThePhD
85c81f618c ignore test files
fix using wrong mode in the improper place
2017-09-11 13:25:05 -04:00
ThePhD
ac849a54c7 add compat53_ prefix where appropriate
make sure all checking macros define to 0 if not defined
make sure to vet use of `fsopen` on Windows since it it may or may not lock: use non-locking security version by default if possible
2017-09-11 13:15:27 -04:00
ThePhD
b4c1ab0915 add f and update single 2017-09-11 11:42:11 -04:00
ThePhD
7a29676633 update implementation of luaL_loadfilex 2017-09-11 11:31:18 -04:00
ThePhD
5fe73be5b5 use sizeof(buf), and update single 2017-09-10 12:28:39 -04:00
ThePhD
b38a382b03 fix compat loadfilex issues and investigate luajit completely 2017-09-10 12:08:43 -04:00
ThePhD
7aca8ac8cd fix macro definitions to define to 0 when not explicitly defined and requirements are not met
macro checks now used defined() plus an is-truth check to see if its valid
fix void return for declaration but int return for definition of luaL_loadbufferx and luaL_loadfilex
update macro style to be similar to the rest of the library
fix comment styling
2017-09-10 11:02:47 -04:00
ThePhD
ae07a5dd67 fix unused parameter warnings using (void)
make sure signatures of macro declarations match
2017-09-10 10:30:30 -04:00
ThePhD
2ca0393a94 hunt down all uses of the k variants of lua_pcall and lua_call 2017-09-10 04:11:30 -04:00
ThePhD
232abab96a EXPERIMENTAL DO NOT PULL
using new compatibility headers and testing on the tests (works on VC++ Lua 5.3 and LuaJIT so far)
2017-09-09 21:38:13 -04:00
ThePhD
d80748e6bb fix raw/global parameter swapping
prepare for compat changes
2017-09-07 00:51:35 -04:00
ThePhD
30c7e40f08 ipairs for array types too 2017-09-06 16:50:27 -04:00
ThePhD
adff0ccbce one day, i'll make a commit and it'll work first try 2017-09-05 23:06:02 -04:00
ThePhD
fc91147edc fix errors 2017-09-05 21:07:33 -04:00
ThePhD
a11e127d4d update single and remove traits from the right place properly 2017-09-03 09:52:51 -04:00
ThePhD
1f64a7f1e3 update single 2017-09-03 03:07:40 -04:00
eox
dd115145f4 Remove duplicate 2017-09-03 03:06:20 -04:00
ThePhD
0d48e65ad1 update single and ver 2017-08-31 21:05:30 -04:00
ThePhD
54bcda140c upgrade checkers and handlers to take a semi-optional "reason" type (const char* c-string desired)
add constructor_handler in same vein of handlers
add argument_handler in same vein of handlers
rewrite env_t checkers
2017-08-31 20:47:09 -04:00
ThePhD
3549bfa8ae android fixes, wee? 2017-08-30 16:16:48 -04:00
ThePhD
dea0ec0a8a update single and properly group tests 2017-08-28 09:38:30 -04:00
ThePhD
3a4e74d316 fix clang errors on forward declarations 2017-08-27 02:11:03 -04:00
ThePhD
ec34e2ca96 inline iiiiiit 2017-08-27 00:41:10 -04:00
ThePhD
a39679293c add constructors and assignment operators for protected function results and the like
improve documentation about saving compilation time and space
add docs about the two `script_..._error` functions
update single
2017-08-27 00:05:35 -04:00
ThePhD
d98155cd22 update examples and documentation, proof typing for user 2017-08-24 14:57:28 -04:00
ThePhD
92a6fb8c11 update all the examples
fix implicitly convertible function pointers from classes using `call_detail`'s `lua_call_wrapper`
specificaly add documentation for working with `std::function`
2017-08-24 14:39:02 -04:00
ThePhD
e4c3ded4b2 update table documentation and force traits not to use a deleted destructor -- rather, default it according to what it inherits 2017-08-22 10:53:46 -04:00
ThePhD
7164a8a30a update single 2017-08-21 16:23:19 -04:00
ThePhD
0c9d567d0a "automatic usertypes" are now applied everywhere, regardless of what happens
new sol::filters (currently undocumented)
new gc tests, new plain_type tests
core abstractions over usertypes streamlined
SOL_STRINGS_ARE_NUMBERS triggers added
update single
2017-08-21 15:25:43 -04:00
ThePhD
488edd9cd1 More MinGW fixes because Thanks MinGW SeemsGood 2017-08-14 10:00:17 -04:00
ThePhD
9b1c70cdf8 jit should be opened with a non-global name of "jit". 2017-08-13 20:40:32 -04:00
ThePhD
3a12435b17 yaaay, mingw..... 2017-08-13 13:24:59 -04:00
ThePhD
769faeec64 e.e weak standards suck 2017-08-13 13:17:04 -04:00
ThePhD
5683216e26 thread_local weee 2017-08-12 09:42:44 -04:00
ThePhD
b81483a406 shift travis test to run the luaJIT on the most updated
block windows macro crap
update single
2017-08-11 22:27:05 -04:00
ThePhD
023e23f9a4 update single 2017-08-11 18:26:13 -04:00
ThePhD
7af8b4e80a make sure tests don't throw where possible
edit stack checks
update container_usertype_as_container examples
2017-08-11 18:12:13 -04:00
mrgreywater
372db6f6ab large integer 2017-08-11 11:39:46 -04:00
ThePhD
5e109c2c37 clang keeps complaining about overload issues... 2017-08-11 10:36:11 -04:00
ThePhD
4f7f1af515 trying to pin this error down... 2017-08-11 10:21:15 -04:00
ThePhD
644a5c549b modifying tests to find out where crash is... 2017-08-11 09:59:42 -04:00
ThePhD
e0f6b636f1 now we start making a half-dozen commits trying to appease the various forms of clang++ and g++ 2017-08-11 09:40:56 -04:00
ThePhD
b1f7d81acb immunize as_table from std::reference_wrapper and pointer types. 2017-08-07 15:10:05 -04:00
ThePhD
c4b13b2b73 modify table push operations 2017-08-07 14:54:17 -04:00
ThePhD
c8728af5b5 throwing is unreliable... sigh 2017-08-07 14:22:56 -04:00
ThePhD
6eaa277860 bootstrap update to link pthreads, on top of container_traits improvement because of clang++ bounds-checking 2017-08-07 13:58:06 -04:00
ThePhD
092fec7afb improve traits 2017-08-07 08:47:17 -04:00
ThePhD
b86d90f0e5 std::cend doesn't exist in C++11
remove unused variables detected by clang and g++
appease the parenthesis monster that was put into g++ 5.0
2017-08-07 02:27:08 -04:00
ThePhD
ca685e01c9 gcc plagues me , and will continue to, for a while to come
BUT IT WOOORKS!
2017-08-07 02:07:21 -04:00
ThePhD
50040dec36 update single, prepare for tests 2017-08-05 19:35:16 -04:00
ThePhD
16fc7d87ff update single 2017-07-09 19:05:32 -04:00
ThePhD
48fc90bacb update single 2017-07-09 14:03:37 -04:00
ThePhD
504f49f3c7 update state to use default handler 2017-07-04 04:41:32 -04:00
ThePhD
aea873a485 update single 2017-07-01 11:04:16 -04:00
ThePhD
1a6937e24e Revert previous change of not pushing nil when we encounter a nullptr from special usertypes. If people want to check, they'll need to use optional or a raw pointer: messing with the raw usertype can also lead to some surprising problems, so we don't need to specialize for that use case. 2017-06-30 18:18:25 -04:00
ThePhD
af2136ba00 Closes #431
If only I had a test that took a unique_ptr as a second argument. RIP.
2017-06-26 10:10:47 -04:00
ThePhD
13370e7e42 more constructors PogChamp 2017-06-24 10:20:07 -04:00
ThePhD
17271c84cb BREAKING CHANGE: std::pair for regular containers that are not marked as as_table_t or as_nested will now behave like regular containers and not force themselves to be key-value pairs. table-style serialization is still unaffected. 2017-06-23 18:07:24 -04:00
ThePhD
6b34a15d68 it would help if I was not blind 2017-06-19 23:06:57 -04:00
ThePhD
5468ab8b4e Let's hope we didn't break shit... 2017-06-19 23:04:23 -04:00
ThePhD
5363a63de0 g++ sometimes chokes on parsing certain combinations of characters because of disambiguation rules 2017-06-17 00:52:02 -04:00
ThePhD
b811e73b90 who knew noexcept proofing would be so hard...? And there's so many places it could be activated in...! 2017-06-17 00:43:26 -04:00
ThePhD
11916a7c72 add noexcept function type barriers and guards
noexcept-proof function call trampolines
add noexcept tests to ensure its being checked
TODO: check g++ 7.1 builds when using -std=c++17 ...
2017-06-16 18:43:40 -04:00
ThePhD
4f959c9a41 update single 2017-06-15 01:24:53 -04:00
ThePhD
85620df63c new checker for unique_usertype to ensure type safety, when SOL_CHECK_ARGUMENTS or a protected tag is used to protect a function 2017-06-13 16:34:18 -04:00
ThePhD
42253cadfb guard against is_integral accepting booleans as integers 2017-06-12 10:45:51 -04:00
ThePhD
d8f6127bf8 boosted pragmas 2017-06-07 12:53:24 -04:00
ThePhD
02110a5361 update single with newest version
Fixes #414
FIxes #419
2017-06-07 12:36:35 -04:00
ThePhD
661386c384 revert codecvt fix for MinGW v7 and greater
add docs about compiler support
add notes about compilation issues
update single
2017-06-07 12:33:59 -04:00
ThePhD
ea895b4338 hard errors for container usertypes if SOL_CHECK_ARGUMENTS is defined.
otherwise, as usual, we assume you know what you're doing
2017-06-03 06:25:06 -04:00
ThePhD
51245a9e7b go to hell, gcc and clang 2017-05-29 13:06:37 -04:00
ThePhD
fd8e2df92e fix some semantics for container usertypes, their iterators, and how they push their value types (to cope with crappy input iterator "containers")
add better handling for `readonly` to prevent bugs from `const`-ifying the return value of a member variable (e.g., unexpected copy semantics)
add more tests and add a few more handlers for new readonly type
fix simple_usertype_metatable's handling of newindex and index when not at the top level
2017-05-29 10:32:37 -04:00
ThePhD
c6d11a2bac fix index and newindex semantics on simple_usertypes
we do not have to hit the metatable by-name since we go to special lengths to ensure we have a simple usertype table we can use
2017-05-28 19:14:18 -04:00
ThePhD
2393d0bcfd update single 2017-05-20 20:03:28 -04:00
ThePhD
5ff394ae0d use the copy assignable trait, even if that's not exactly what we're going for... 2017-05-16 20:20:59 -04:00
ThePhD
51d6f6fa54 You would think that we'd have accounted for this earlier...
Fixes #405
2017-05-16 06:12:28 -04:00
ThePhD
34b81bef6b Handle qualified name failures of VC++, where using templates do not match the fully qualified names of what they alias to (Thanks, VC++) 2017-05-15 10:41:50 -04:00
ThePhD
86e2de297d update single, ensure unused variables are axed 2017-05-09 13:31:44 -04:00
ThePhD
8efafca46a [ci skip] update single, bump version 2017-05-09 13:27:23 -04:00
ThePhD
c7237806ef add a new example, add a note, adjust for LuaJIT Beta3 and beyond (hopefully it doesn't flip its crap: will have to warn suers....) 2017-05-07 10:16:47 -04:00
ThePhD
5bc5def14d update single 2017-05-04 03:18:46 -04:00
ThePhD
fc3e7c40f3 static properties work as intended, I guess 2017-04-25 19:44:53 -04:00
ThePhD
c124d51353 Fix #398 by ensuring proper usertype propagation. 2017-04-20 20:27:32 -04:00
ThePhD
3d5f80e35a Fix bad tag for clang 2017-04-19 15:29:26 -04:00
ThePhD
a3d6f8044c working stuff!~ 2017-04-19 13:00:47 -04:00
ThePhD
de7d7e8da5 update versions 2017-04-18 20:26:35 -04:00
ThePhD
2acc8bee14 get_environment, documentation updates, and tests 2017-04-18 20:23:20 -04:00
ThePhD
36cc7f2863 crush the stack on final error when throwing to prevent 'leaks' in bad cases 2017-04-09 19:37:45 -04:00
ThePhD
a6e03ac214 tfw you break everything 'cause you're bad 2017-04-09 13:03:41 -04:00