1155 Commits

Author SHA1 Message Date
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
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