Jason Turner
fe405a781c
Revert "Merge branch 'typed_function_ordering' into c++17"
...
This reverts commit 5d5a126bb15b8490ebdb92a8f0a8b2b990d8a067, reversing
changes made to dd912822a7979aad101042c62478c2441ae21d1a.
2017-11-21 16:10:13 -07:00
Jason Turner
8b523c73b8
Merge remote-tracking branch 'origin/develop' into best_practices
2017-11-21 15:34:04 -07:00
Jason Turner
f37bb847c7
Merge remote-tracking branch 'origin/c++17' into best_practices
2017-11-21 14:59:04 -07:00
Jason Turner
9f2ed24dd0
Merge pull request #369 from mlang/use-using
...
Use using
2017-11-21 14:54:13 -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
Jason Turner
61bce30901
Unused code removal
2017-11-21 06:30:19 -07:00
Jason Turner
c6021f3e61
Bug fix from Function_Params refactor
2017-11-19 06:20:27 -07:00
Jason Turner
92ae85c3e8
Remove guards from catch blocks
2017-11-18 19:08:14 -07:00
Jason Turner
d59350d356
Various cleanups
2017-11-18 18:42:45 -07:00
Jason Turner
a6d30baa27
Apply some if constexpr action
2017-11-17 06:12:50 -07:00
Jason Turner
b03b90dee6
Fix bug introduced with Function_Params refactor
2017-11-17 05:26:24 -07:00
Jason Turner
28a59d2a6e
Avoid creating vectors when possible
2017-11-16 09:10:48 -07:00
Jason Turner
5d5a126bb1
Merge branch 'typed_function_ordering' into c++17
2017-11-13 00:33:59 -07:00
Jason Turner
dd912822a7
Merge commit '8895ee8fc58ff13e7ee17007aeab6f78bf9f81f1' into c++17
2017-11-13 00:03:25 -07:00
Jason Turner
8895ee8fc5
Fix assignment / modification of return values
2017-11-13 00:02:22 -07:00
Jason Turner
91bcf1187e
minor noexcept adjustments
2017-11-12 04:09:37 -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
Jason Turner
f42bdb7541
Merge branch 'develop' into typed_function_ordering
2017-10-14 15:50:18 -06: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
Mario Lang
f54aa90736
Use using
2017-09-25 16:55:18 +02:00
Jason Turner
c6237cc528
Add += char for string type
2017-09-21 08:55:32 -06:00
Jason Turner
8e590387f1
Merge branch 'constexpr' into c++17
2017-09-20 17:05:31 -06:00
Jason Turner
6cae70c208
Move to module level statics from function level
2017-09-20 16:44:32 -06:00
Jason Turner
c5a9cab3dd
Simple cleanup for string comparisons
2017-09-20 15:34:19 -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
Jason Turner
e38b05ff9a
Better constexpr for comment types
2017-09-10 07:12:33 -06: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
f338586d37
Performance improvements and LOC reduction in BoxedNumber
2017-09-02 19:06:46 -06:00
Jason Turner
bfe7799d13
Come C++17 updates, namespaces, etc
2017-09-02 13:12:52 -06:00
Jason Turner
1738476321
Make comparison constexpr
2017-08-30 08:41:08 -06:00
Jason Turner
4213f24761
Various C++17 considerations
2017-08-29 16:14:44 -06:00
Jason Turner
ac78e978fe
Move to template type deduction for function signature
2017-08-26 14:19:38 -06:00
Jason Turner
e6a6a20eb6
Handful for C++17 things
2017-08-26 08:24:55 -06:00
Jason Turner
f9a1784b9b
Move json.hpp to variant
2017-08-25 19:48:30 -06:00
Jason Turner
4275ec6878
Make it easier to swap around some hashing algorithms
2017-08-25 15:31:24 -06:00
Jason Turner
dce9e17c34
More string_view tweaks
2017-08-25 14:49:44 -06:00
Jason Turner
04902f8209
Use C++17's emplace_back return reference
2017-08-25 12:48:34 -06:00
Jason Turner
e49df4c54d
Move the parser to string_view
2017-08-25 11:17:47 -06:00
Jason Turner
ff70341af2
Avoid conversions to string_view, 2% perf savings
2017-08-24 21:14:05 -06:00
Jason Turner
d115dbfd79
move towards string_view
2017-08-24 20:46:22 -06:00
Jason Turner
9596e15049
Warning / build fixes for gcc7
2017-08-24 18:35:03 -06:00
Jason Turner
9bbe723827
Fix unhandled divide by zero
2017-08-23 21:38:41 -06:00
Jason Turner
7722841294
More if constexpr work
2017-08-23 21:23:18 -06:00
Jason Turner
dd918c524d
Use if constexpr in boxed_number
2017-08-23 20:20:17 -06:00
Jason Turner
8568b61014
Merge branch 'constexpr' of github.com:ChaiScript/ChaiScript into constexpr
2017-08-23 16:13:39 -06:00
Jason Turner
b8b548bab3
more constexpr for parser
2017-08-23 16:10:10 -06:00
Jason Turner
0d76241f77
Avoid capture of constexpr value
2017-08-23 16:08:44 -06:00
Jason Turner
3feb084438
constexpr user_type objects
2017-08-22 22:22:47 -06:00
Jason Turner
ac7af60d76
Make constructors return values, not shared_ptr
2017-08-22 15:54:42 -06:00
Jason Turner
b810e4f7d9
Callable traits constexpr
2017-08-22 13:29:08 -06:00
Jason Turner
ac8f876347
constexpr fixes for Visual Studio
2017-08-22 12:02:42 -06:00
Jason Turner
b51b52dea9
constexpr bind_first
2017-08-22 10:03:26 -06:00
Jason Turner
535c0344b7
Make function constexpr
2017-08-20 13:11:57 -06:00
Jason Turner
ddb2f352cd
Initial simple application of constexpr to API
2017-08-17 11:27:14 -06:00
Jason Turner
58f740844d
Undo perf hit to keyword lookups
2017-08-15 13:17:23 -06:00
Jason Turner
0fc420f69d
Revert "Remove exception specification shared_ptr use"
...
This reverts commit e1cf8b9eb1d59d49149454424ec49bd0d8a3b28f.
2017-08-15 10:13:20 -06:00
Jason Turner
1ca857b890
Satisfy older clangs by adding default ctor
2017-08-11 14:20:17 -06:00
Jason Turner
710b3c4003
Fix instantiation of Static_String for older compilers
2017-08-11 08:57:44 -06:00
Jason Turner
ca8f78ff89
JSON noexcept updates
2017-08-10 22:22:13 -06:00
Jason Turner
73d543eef0
Make operator lookup noexcept
2017-08-10 20:32:39 -06:00
Jason Turner
5ba155e058
Make operators noexcept (removing std::vector usage)
2017-08-10 19:52:32 -06:00
Jason Turner
5d56051532
Various noexcept additions
2017-08-10 19:47:03 -06:00
Jason Turner
e1cf8b9eb1
Remove exception specification shared_ptr use
2017-08-10 10:28:16 -06:00
Jason Turner
7986ea08b6
More work towards all noexcept, warning cleanups
2017-08-09 14:36:45 -06:00
Jason Turner
34534c1386
Changes that noexcept want to happen
2017-08-08 17:06:36 -06:00
Jason Turner
171765cfdb
Add back in extent capture
2017-08-06 18:19:43 -06:00
Jason Turner
7f6f1d8a59
Fix clang warnings, fix misplaced noexcept
2017-07-31 16:12:16 -06:00
Jason Turner
3f8b697e9e
Fix windows noexcept build
2017-07-23 07:38:20 -06:00
Jason Turner
e07cd88659
Add noexcept where appropriate
...
This modifies no logic, it simply adds the keyword `noexcept`
I believe this is 100% correct. It calls methods that are not
guaranteed to be `noexcept`, such as `operator[]` but have
no logically way of throwing.
2017-07-22 20:33:30 -06:00
Jason Turner
755f650a8d
strip noexcept
2017-07-21 05:44:20 -06:00
Jason Turner
ef333e491a
remove existing constexpr
2017-07-20 21:16:54 -06: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
93bc6109e7
Merge branch 'develop' into typed_function_ordering
2016-12-05 19:19:41 -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
Jason Turner
9e17514b57
Move away from class level statics
...
- Avoiding potential issues with linking and multiple symbol definitions
2016-12-01 15:20:48 -07:00
Jason Turner
5f402e71dd
Move away from macro, get slight perf boost with hand rolled compare
2016-12-01 14:47:23 -07:00
Jason Turner
95e119fffe
Merge github.com:niXman/ChaiScript into develop
2016-12-01 14:03:56 -07:00
Jason Turner
f17439a9d3
Add scope around condition in for/while
...
* solves issue with rapidly expanding memory usage if
function variable use stack is growing rapidly
2016-12-01 13:42:40 -07:00
Jason Turner
940e0c2d86
Merge pull request #306 from StanEpp/develop
...
Added add_class overload for scoped enums.
2016-12-01 10:10:49 -07:00
sjaustirni
b68f917677
Fixed a bug in the first example
...
This example has been forgotten to be updated, despite other being up to date.
2016-11-26 15:43:28 +01:00
Stan
7f4af72244
Added add_class overload for scoped enums.
2016-11-23 20:39:21 +01:00
Jason Turner
50dcbc8c7e
Simplify Symbol parsing.
...
closes #301
2016-11-13 15:14:41 -07:00
niXman
1ea91faf52
parser optimization Three
2016-11-08 01:11:46 +02:00
niXman
745e0c0f0b
parser optimization step Two
2016-11-04 09:15:02 +02:00
niXman
c42477f2eb
parser optimization step One
2016-11-03 22:47:48 +02:00