Commit Graph

453 Commits

Author SHA1 Message Date
ThePhD
eb19aab9a1 This update allows for many more definition macros and teh use of a configuration header to be combined with the single.py
Allow for configuration macros to aid in fixing #631
2018-04-17 12:29:14 -04:00
hzwar
2de6447e73 Compile fix for std::variant detection on Apple clang 9.1.0 (Xcode 9.3) (#628)
* Compile fix for std::variant detection on Apple clang 9.1.0 (Xcode 9.3)

* Update single

* Consistently check SOL_CXX17_FEATURES, SOL_STD_VARIANT

* Update single
2018-04-13 14:46:05 -04:00
ThePhD
6e970f35ac update insgle 2018-04-12 14:01:53 -04:00
ThePhD
81912b6dd4 update single 2018-04-01 21:52:29 -04:00
ThePhD
0c380da637 in place modification function there, but it won't be documented because it's a BAD IDEA 2018-03-30 04:51:29 -04:00
ThePhD
035c2f8fad [ci skip] allow for pointer properties in non-checked-args builds 2018-03-29 09:24:41 -04:00
ThePhD
0b4548bed3 allow pointers to be used with property defines 2018-03-21 17:52:28 -04:00
ThePhD
2bd1cdccf0 return_type duplication 2018-03-19 00:20:08 -04:00
ThePhD
f50d8e271f VC++ actually doesn't respect array reference return types through decltype. Kek. It's obscure, but... goodness, how does GCC and Clang get these things right consistently while VC++ keeps fumbling at it? 2018-03-18 23:41:03 -04:00
ThePhD
d14345f016 MSVC is an ass and will probably continue to be an ass for a while to come. 2018-03-17 09:09:37 -04:00
ThePhD
3f65ad43d8 Remove unused variant typedef 2018-03-11 20:12:23 -04:00
ThePhD
aad954d2c0 update single 2018-03-10 20:45:46 -05:00
ThePhD
c8bfcd2dc2 update stack docs
fix examples
do not throw std::exception directly: always use std::runtime_error, as it is the only one with a proper exception hole
2018-03-09 23:32:03 -05:00
ThePhD
560b5b2673 ᕕ༼ •̀︿•́༽ᕗ VC++ COMING THROUGH WAHAAAY ᕕ༼ •̀︿•́༽ᕗ 2018-03-06 17:36:33 -05:00
ThePhD
0fe9b160b7 update single 2018-03-05 22:56:21 -05:00
ThePhD
2f220b6eb2 update single 2018-03-04 10:57:28 -05:00
ThePhD
e8e5ddc890 fix overpop from stack_check_get tracking 2018-03-04 05:40:57 -05:00
ThePhD
ab5b417fb0 update single, change optional semantics with nullable references 2018-03-03 15:39:41 -05:00
ThePhD
2e1fcd32dd update single 2018-03-03 13:42:44 -05:00
ThePhD
cd13f2dc0d Hammer down function behavior and provide an example to show how it works 2018-03-03 13:42:13 -05:00
ThePhD
1e5c256394 specify poly as the desired type 2018-03-02 10:09:30 -05:00
ThePhD
94a63902a7 fix order of is_specialization_of, since mpark and arthur and friends convinced me of The One True Way
add workaround for VC++ /std:c++17 and /std:c++latest bugs
try to add MD/MDd flags, pray it works...
update single
2018-03-01 22:08:27 -05:00
ThePhD
9bddce66f8 Visual C++ introduced a regression in all frontends that were not /std:c++14.
Kind of tired, don't want to file the bug....
2018-02-28 19:20:20 -05:00
ThePhD
14378e7126 properly specify transcoding behavior 2018-02-24 18:50:23 -05:00
ThePhD
6b2e282ab0 oops, the logic for the define was wrong :< 2018-02-23 16:59:48 -05:00
ThePhD
b60132ef71 Fix boost/C++17 hash mismatch 2018-02-23 11:30:34 -05:00
ThePhD
12139b8cfb stop myself from derping out 2018-02-22 21:31:28 -05:00
ThePhD
32cadc0990 update single 2018-02-22 18:34:07 -05:00
ThePhD
f85a06b31d update single 2018-02-22 14:49:16 -05:00
ThePhD
6c6c89132b fix #593 2018-02-21 02:02:18 -05:00
ThePhD
a56a890adf update single 2018-02-20 11:45:51 -05:00
ThePhD
c377ecebcb more travis stuff, add missing license notice, update license year 2018-02-19 21:15:26 -05:00
ThePhD
1d0683a53e add all examples for all interop types
Implements #578
2018-02-10 16:24:17 -05:00
ThePhD
22127fa6fa woops 2018-02-04 19:55:11 -05:00
ThePhD
c9980bfc28 Add push function, update single 2018-02-04 19:23:24 -05:00
ThePhD
f2d4150934 update single= 2018-01-30 21:05:38 -05:00
ThePhD
165b387ddb Change bind_traits to work better for 32-bit __stdcall 2018-01-30 11:02:46 -05:00
ThePhD
54003df3c9 as usual, herpin' that derp with the spelling errors... 2018-01-28 22:58:56 -05:00
ThePhD
57681ab4cd This attempts to be more thorough with the validations of the test, avoiding throws wherever possible to help reduce the error surface for debugging x86 builds (which, strangely enough, are not erroring in the same places that appveyor is erroring in...)
Need to begin wrok to fix wstring_convert and replace it with some decent UTF conversion algos. It's surprisingly difficult tof ind such...
Fixes #572
Fixes #569
Fixes #567
2018-01-28 22:21:13 -05:00
ThePhD
143c98450a update single, add new tests
fixes #564
2018-01-24 01:10:35 -05:00
ThePhD
83f4b4aaa0 fix unused parameter
fix cmake bad copy
2018-01-23 19:50:49 -05:00
ThePhD
db9c5d64c6 update single, use special handling for find_package 2018-01-23 16:18:17 -05:00
ThePhD
63ec47bf6e Make base class type checks and lookup stable across DLLs 2018-01-23 12:07:22 -05:00
ThePhD
f5764337cb purge past-the-stack access in protected function result 2018-01-20 14:31:49 -05:00
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