Jason Turner
6a8541971e
Merge pull request #410 from arcoRocks/patch-3
...
Fix for #409
2018-03-01 10:44:45 -07:00
arcoRocks
e23c2bb04f
fix for #413
2018-02-20 16:23:45 +01:00
arcoRocks
3e1916a8d5
fix for #413
2018-02-19 13:31:38 +01:00
Stephen Berry
0ad4f83366
Removed constexpr for Visual Studio compilation. Xcode (LLVM) works with constexpr on the before function, but Visual Studio (2015) does not.
2018-02-15 09:10:11 -06:00
Stephen Berry
2dbfdfe111
Critical type_info ordering fix. Was using a less than comparison on pointers, which sometimes resulted in differing behavior between compilations.
2018-02-15 08:59:20 -06:00
arcoRocks
88042c7958
Fix for #409
2018-02-15 14:33:38 +01:00
Jason Turner
1c5c34561b
Merge pull request #388 from arcoRocks/patch-2
...
Fix for #387
2018-02-02 21:34:12 -07:00
Jason Turner
bbaa6ed76f
Merge pull request #400 from totalgee/to_json_fixes
...
In to_json(), maintain the "type" of empty maps and vectors
2018-02-02 21:33:11 -07:00
Jason Turner
35af4edb30
Ignore some warnings from clang++
2018-02-02 21:04:21 -07:00
Jason Turner
9be8f36824
Fix some warnings found on g++7
2018-02-02 20:36:29 -07:00
Jason Turner
6c41ac90d8
Add to_int(int) and similar overloads
...
* This is so that `to_int` `to_char` `to_long` and similar work not
only with strings but also with built-in types
2018-02-02 20:35:32 -07:00
Jason Turner
0c32c5054c
Add clarification on use-after-move
2018-01-19 13:01:44 -07:00
Jason Turner
cb30a97832
Workaround for /permissive- on MSVC
...
Addresses #403
2018-01-19 13:01:05 -07:00
Jason Turner
695fa0b371
Proper fix for noexcept/msvc2017
...
From @StephanTLavavej
2018-01-19 11:54:19 -07:00
Jason Turner
eb93760f1b
Fix building on MSVC in C++17 mode
...
Closes #403 #396 #395
2018-01-19 10:26:31 -07:00
Jason Turner
be8726b41a
Merge pull request #382 from arcoRocks/patch-1
...
Update json_wrap.hpp
2018-01-18 16:54:45 -07:00
Glen Fraser
783b8b7361
In to_json(), maintain the "type" of empty maps and vectors
...
- fix issue #399 .
- make to_json() with an empty Map, Vector or Dynamic_Object return a
similar/compatible type (JSON object or array), rather than "null".
- include the fix for #381 (to_json() support for null values), so
that can also be unit tested.
2018-01-11 19:44:27 +01:00
arcoRocks
f6ffcd9481
Fix for #387
2017-12-04 13:41:59 +01:00
Jason Turner
e884f0816d
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2017-11-30 10:08:26 -07:00
Jason Turner
56140608ef
Fix scope optimizations for ranged for and refs
...
Closes #383
2017-11-30 10:06:32 -07:00
arcoRocks
ed9c0747fb
Update json_wrap.hpp
2017-11-28 08:06:46 +01:00
Jason Turner
3a019b06c3
Merge pull request #380 from stephenberry/develop
...
Improved parsing speed of parse_num
2017-11-27 20:26:08 -07:00
Jason Turner
035319bbd0
Fix "compiled loop" optimization
2017-11-26 22:31:35 -07:00
arcoRocks
af76d1bb42
Update json_wrap.hpp
...
Fix for #381
2017-11-24 10:15:06 +01:00
Stephen Berry
bcd01f3b03
Fixed issue when lacking positive exponent sign
2017-11-22 14:52:05 -06:00
Stephen Berry
2c30268bf2
Improved parsing speed of parse_num
2017-11-22 14:06:03 -06:00
Jason Turner
903454bf05
Merge pull request #290 from stephenberry/develop
...
Adding basic namespace handling
2017-11-21 16:27:40 -07:00
Jason Turner
fdddba1e00
Merge pull request #355 from bogemic/pvs-studio-warnings-v728
...
fixed PVS-Studio warnings V728
2017-11-21 14:51:56 -07:00
Jason Turner
e2aec593c1
Merge pull request #366 from mlang/future_type
...
Allow standard_library::future_type to bootstrap hpx::lcos::future
2017-11-21 14:42:11 -07:00
Jason Turner
680f9b9242
Fix variable redeclaration from last merge conflict fix.
2017-11-21 14:06:42 -07:00
Jason Turner
e97d3723df
Merge branch 'develop' into develop
2017-11-21 13:54:54 -07:00
Jason Turner
8307663938
Look for and optimize decl assignments
...
Re: #356
2017-11-21 10:26:58 -07:00
Jason Turner
50a2773081
Reduce cost of cloning common built in types
...
Re: #356
2017-11-21 09:01:17 -07:00
Glen Fraser
79d985d6ff
Fix JSON parsing for floats with negative exponents
...
- also add unit tests to cover some broken (now fixed) cases.
2017-10-24 20:10:50 +02:00
dinghram
1541cce1d9
Change long to int64_t to remove OS ambiguity
...
Linux compilers interpret "long" as 64 bit, Visual Studio on Windows interprets "long" as 32 bit. In order to remove ambiguity, from_json should use int64_t rather than long when parsing integers.
2017-10-03 08:43:01 -06:00
Jason Turner
be225a9209
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2017-10-02 09:53:23 -06:00
Jason Turner
15196af5d6
Remove one case of UB union work
2017-10-02 09:52:51 -06:00
Jason Turner
c6237cc528
Add += char for string type
2017-09-21 08:55:32 -06:00
Mario Lang
3e521d2952
Delete now useless local copy
2017-09-18 17:00:04 +02:00
Mario Lang
0fa0def112
Use range-based for
2017-09-18 15:00:52 +02:00
Mario Lang
ee3f828b8c
Allow bootstrapping hpx::lcos::future
...
Which has an overloaded get(error_code &). Use a lambda in
standard_library::future_type to disambiguate.
2017-09-15 10:12:47 +02:00
Stephen Berry
ff78d31583
Simplified namespace handling code and requiring all namespace registration to allow for delayed generation. This simplifies generating namespaces by the user and leads to more efficient code.
2017-09-05 13:26:55 -05:00
Stephen Berry
a9fc1d492e
Merge branch 'develop' of https://github.com/ChaiScript/ChaiScript into develop
2017-09-05 12:13:29 -05:00
Stephen Berry
3f299333cc
Switched to recursive mutex
...
Removed namespaces_nested_ref.chai
2017-09-05 12:02:11 -05:00
Jason Turner
f465d2ceca
Make sure to not deref null parse node
2017-07-20 06:10:31 -06:00
Jason Turner
14eaefdceb
Make front() back() checked
2017-07-19 15:52:34 -06:00
Jason Turner
f03659c865
More careful testing of 'for' parses
2017-07-19 13:19:36 -06:00
Jason Turner
b42316a275
More careful with json errors
2017-07-19 13:19:17 -06:00
Jason Turner
d8da295e40
Check string accesses during JSON parsing
2017-07-19 10:47:17 -06:00
Jason Turner
cfb2e663d3
Fix unhandled exception found via libfuzzer
2017-07-19 10:09:44 -06:00
Jason Turner
ea03a5462f
Wrap up build issues for dropping of shared_ptr
2017-07-18 16:58:09 -06:00
Mike Bogdanov
0c31d81711
fixed PVS-Studio warnings V728
2017-07-13 12:41:23 +03:00
Jason Turner
77315ae4b9
Fix non-shared_ptr tree code
2017-06-22 09:32:49 -06:00
Jason Turner
5a5600914c
Move away from shared_ptr for parse nodes
2017-06-21 21:27:48 -06:00
Jason Turner
36e61dec0a
Fix defaults for dynload options
2017-06-06 14:59:05 -06:00
Jason Turner
bdd0a12bb7
ChaiScript can only support static in non-threading mode
2017-05-31 14:18:30 -06:00
Jason Turner
3b48983bc2
Revert "Add workaround for chaiscript used as static"
...
This reverts commit a281d9571e00788784a10bdae054f92cb3e3fb1a.
2017-05-31 13:54:45 -06:00
Jason Turner
bd736eddec
Deprecate GLOBAL #247
2017-05-30 11:33:12 -06:00
Jason Turner
9f8b57c145
Enable ChaiScript compilation for C++17
...
Closes #348
This works by taking into account the fact that `noexcept` is now part
of the type system in C++17. However, this would conflict with pre-C++17
compilers, so I have added a feature macro around it
2017-05-30 09:16:20 -06:00
Jason Turner
a999ea3692
Fix handling of const return types #430
2017-05-30 08:38:47 -06:00
Jason Turner
0f9d9cae4a
Merge pull request #332 from ftk/develop
...
Ability to disable module loading support at compile time
2017-03-21 12:55:30 -07:00
Jason Turner
468d65a661
Merge pull request #336 from totalgee/from_json_fix
...
Handle negative numbers in JSONParse::parse_number
2017-03-21 12:21:26 -07:00
Jason Turner
9847618cf3
Fix use after move during parsing
...
closes #337
2017-03-21 12:17:30 -07:00
Jason Turner
a281d9571e
Add workaround for chaiscript used as static
...
closes #338
2017-03-21 11:58:33 -07:00
Jason Turner
be2fec02d9
Simplify usage of Thread_Specific object
2017-03-21 10:44:53 -07:00
Glen Fraser
491b95099d
In JSONParser::parse_number(), only allow a single '-' at start
...
- also, don't allow multiple '.' decimal points. Add unit tests to
cover these cases.
2017-03-14 13:01:09 +01:00
Glen Fraser
561c5bc981
Handle negative numbers in JSONParse::parse_number
...
- fix issue #334 , where negative numbers loaded from JSON were being
parsed as 0.
- add unit tests to cover these cases.
2017-03-14 12:01:51 +01:00
ftk
60c43233c6
More clear error message in load_module
2017-03-05 21:55:01 +03:00
ftk
c2f7ca3aa2
Using runtime stdlib constructor will result in compilation error
2017-03-05 21:48:59 +03:00
ftk
72cb9bd940
Compile out module path search code when module support is disabled
2017-03-05 21:26:01 +03:00
ftk
84f9c44ab6
Do not register load_module by default when dynamic loading is disabled
2017-03-05 21:23:05 +03:00
ftk
698dfb06db
Loadable module support can be disabled by defining CHAISCRIPT_NO_DYNLOAD
2017-03-05 20:54:01 +03:00
Jason Turner
064a385a64
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2017-02-22 15:56:04 -07:00
Jason Turner
283785faaf
Add PVS Studio and address some issues it found
2017-02-22 15:18:56 -07:00
Jason Turner
40fb8d257e
Fix warnings from MSVC
2017-02-22 13:55:02 -07:00
Jason Turner
87f1242ed4
Update copyrights to 2017
2017-02-15 15:55:40 -07:00
Jason Turner
faba0f1317
Require thread_local support, move to xcode8
2017-02-15 15:38:44 -07:00
Jason Turner
077c93ab27
Fix/enhance unique_ptr support
2017-02-04 09:14:07 -08:00
Jason Turner
1cb15d8b22
Handle return of std::unique_ptr objects
2017-02-03 19:34:12 -08:00
Jason Turner
dca3ce4ea6
Enhance testing of integer literals
...
* enable the ability to check a boxed_number conversion
* fix integer_literal_test to pass on MacOS
2017-02-02 15:07:37 -07:00
Jason Turner
f5ced799cf
Hopefully find balance with gcc/clang for static_string
2017-02-02 08:10:47 -08:00
Jason Turner
24352c62e8
Some clang specific fixes / warnings
2017-02-02 08:00:57 -08:00
Jason Turner
18cf09b512
Merge pull request #319 from Tw1ddle/patch-1
...
Add double stringize trick so _MSC_FULL_VER macro gets expanded
2017-02-01 20:12:04 -07:00
Jason Turner
2782cdd33b
Remove 2-value bind in favor of lambdas
...
closes #320
2017-02-01 15:42:32 -08:00
Jason Turner
d8d7bc79b7
Enhance number parsing tests
2017-02-01 09:07:40 -08:00
Jason Turner
3e04210027
Add more integer literal tests / fix neg test
...
Addresses #322
2017-02-01 07:02:18 -08:00
Jason Turner
c82c9ccb6e
Revert "Fix parsing of negative numbers"
...
This reverts commit 83b7973cb885af928e36195a7cbc6ab8f04a93b6.
2017-02-01 06:18:14 -08:00
Jason Turner
83b7973cb8
Fix parsing of negative numbers
2017-01-31 15:41:21 -08:00
Jason Turner
0a18f0a809
Remove unnecessary params
2017-01-31 13:40:16 -08:00
Jason Turner
8efba903c3
use std::end instead of end because of MSVC
2017-01-31 13:28:40 -08:00
Jason Turner
ca87c05cd4
Don't add 'this' if it was explicitly captured
2017-01-31 13:25:26 -08:00
Sam Twidale
574f4a9664
Add double stringize trick so _MSC_FULL_VER macro gets expanded
...
This fixes CHAISCRIPT_COMPILER_VERSION, so it gets the compiler version number instead of the string "_MSC_FULL_VER".
This means, for example, build ids read like msvc-190023918-Debug, not msvc-_MSC_FULL_VER-Debug.
2017-01-09 18:38:19 +00:00
Jason Turner
a8e70a4cfe
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2016-12-06 13:43:53 -07:00
Jason Turner
f79de06e0b
Change comment format
2016-12-06 13:42:58 -07:00
Jason Turner
cee57f998a
Allow conversions while calling chaiscript funcs
...
* This puts ChaiScript funcs more on even footings with
C++ defined funcs
* Minor performance hit (0.5%)
2016-12-06 13:05:17 -07:00
Jason Turner
ce62706fea
Clean up warnings
...
* msvc
* pvs-studio
2016-12-06 10:31:36 -07:00
Jason Turner
fb7f8f194c
Add support for r-value parameters and unique_ptr
...
Notes
* Due to the limitations for how Boxed_Value is handled
the unique_ptrs must still be wrapped in a shared_ptr
* However, this caveat does not directly affect the user
2016-12-05 12:07:56 -07:00
Jason Turner
d6d50478de
Make constexpr members const
2016-12-03 07:59:06 -07:00
Jason Turner
defdb53a55
Fix regression from last commit on single char operators
2016-12-02 23:26:54 -07:00
Jason Turner
0dea62dd54
Finish removing runtime string comparisons
...
* Now virtually all parser string work is done at compile time
* Continuing the work started by @niXman
2016-12-02 23:01:57 -07:00