Niels Lohmann
2fd214c14b
🔨 adjusted pedantic flags
2017-06-20 23:05:37 +02:00
Niels Lohmann
89efe627fe
🔨 a lot of restructuring
...
- removed uncached input stream adapter; it was too slow anyway
- implemented a class binary_read which parses CBOR based on input
adapters
- in the CBOR parser, numbers are created via memcpy to avoid undefined
behavior
2017-04-02 18:46:21 +02:00
Niels Lohmann
a690a9f2d2
Merge branch 'develop' into feature/manual_lexer
2017-03-29 00:57:09 +02:00
Niels Lohmann
c2e80a72d7
🔨 deprecated j << istream / j >> ostream functions #367
...
The implementation is non-standard. Deprecation allows a simpler API in
the future without removing any features.
2017-03-29 00:39:47 +02:00
Niels Lohmann
40160f482a
🚧 manual lexer
...
This commit removed the re2c lexer and replaced it by a manual version.
Its integration is not yet complete: number parsing does not respect
locales or overflows. Furthermore, parsing does not need to end with
EOF. Therefore, a lot of test cases fail. The idea is to push this
branch forward so we can conduct performance comparisons. So far, a
nice side effect are better diagnosis messages in case of parse errors.
2017-03-24 19:49:02 +01:00
Krzysztof Woś
b9c3b8d688
Exit with an error if re2c is not available
...
Instead of overwriting src/json.hpp with an empty file
2017-03-20 16:00:58 +09:00
Niels Lohmann
483a58f625
🚨 added pedantic flags for GCC
...
With GCC 7, there are even more diagnostic flags.
2017-03-16 18:35:45 +01:00
Niels Lohmann
21ec0e7806
🔨 added user-defined exception 110
2017-03-06 21:00:13 +01:00
Niels Lohmann
7b8fd864e2
🔥 removed deprecated constructor #480
...
The constructor basic_json(std::istream&, const parser_callback_t) has
been deprecated since version 2.0.0. This commit removes it together
with its code example, deprecation macro, and test cases. The code now
also compiles with -W-deprecated-declarations.
2017-03-01 17:49:03 +01:00
Niels Lohmann
8cec55a271
🚧 fixed more warnings
2017-02-22 18:14:29 +01:00
Niels Lohmann
c8191c8172
🔨 further cleanup
2017-02-12 18:50:17 +01:00
Niels Lohmann
db33629990
💄 cleanup after #410
2017-01-01 21:34:58 +01:00
Daniel Cohen
010ea126f3
going to try clang_sanitize with libstdc++ with g++-6 implementation
...
Conflicts:
.travis.yml
Makefile
2016-12-30 14:24:22 +02:00
Niels Lohmann
e3b036348b
🚧 added targets for parallel AFL fuzzing
2016-12-25 16:36:43 +01:00
Niels Lohmann
1399abc583
🚧 added MessagePack fuzz target
2016-12-25 16:18:56 +01:00
Niels Lohmann
e4cc62e653
🐛 fixed Makefile to work with proper CBOR files
2016-12-25 16:07:10 +01:00
Niels Lohmann
f87f4c06f9
🚧 cleanup
2016-12-22 12:10:52 +01:00
Niels Lohmann
33be4e7f1f
🚧 cleanup
2016-12-22 12:08:36 +01:00
Niels Lohmann
a084e90f39
🔨 split AFL test in driver and test file
2016-12-22 11:09:26 +01:00
Niels Lohmann
e1f98fbfc0
🚧 splitting tests into several binaries
2016-11-27 16:19:26 +01:00
Niels
ed611119d9
📈 reducing benchmark variance ( #365 )
2016-11-23 08:47:40 +01:00
Niels
b820bb3b1f
fixed a lot of unicode errors ( #344 )
...
BOMs currently yield an error.
2016-10-29 19:35:17 +02:00
Niels
29c5f32d42
fixed performance degradation ( #272 )
2016-08-29 22:36:33 +02:00
Niels
d2564c6100
added cppcheck target for travis
2016-08-18 18:29:19 +02:00
Niels
bd75ef9f27
added check-fast flag
2016-08-04 22:05:16 +02:00
Niels
d80329034e
split test suite in one file per test case
2016-08-04 21:55:47 +02:00
Niels
5541e6f6f9
split unit tests
2016-08-04 07:24:46 +02:00
Niels
263e6af48d
switch off assertions for benchmarks
2016-07-31 23:03:14 +02:00
Niels
a05df038cd
prepared release
2016-07-31 13:37:04 +02:00
Niels
4c98c971b8
added benchmarks for numbers
2016-07-20 23:06:45 +02:00
Niels
6542ae5766
fixed re2c warnings
2016-06-23 22:49:48 +02:00
Niels
04e1e7b586
cleanup
2016-05-29 14:56:08 +02:00
Niels
aa8aa3ba9f
overworked coverity stuffy
2016-05-29 14:06:43 +02:00
Chris Kitching
af76508fe7
Introduce structure to the test/ directory
...
This introduces a clear separation between test data and test
binaries. Test data is moved into test/data, and the test binaries
move into test/src. A new CMake script specific to building the
tests is introduced in /test to slightly clean up the toplevel
one.
As well as tidying things up, this makes the next step trivial...
2016-05-11 01:30:08 +01:00
Niels
76a5a776eb
cleanup after #234
2016-04-16 12:19:10 +02:00
Niels
f160f33fb5
update from master
2016-02-14 21:44:00 +01:00
Niels
153e105164
cleanup after #207
2016-02-14 18:38:29 +01:00
Niels
a69b1a6f0b
added noexcept and constexpr
2016-02-14 16:42:48 +01:00
Michael Macnair
9e500b49ac
Add support for afl-fuzz testing
...
"make fuzz" creates a simple executable that de-serialises stdin
and re-serialises to stdout.
"make fuzz_testcases" extracts the smaller json test cases into
a testcases directory.
The library can then be fuzzed as follows:
CC=afl-clang-fast make fuzz
make fuzz_testcases
mkdir out
afl-fuzz -i testcases -o out ./fuzz
2016-02-12 09:35:08 +00:00
Niels
ff6f723195
removed token
2016-01-26 23:30:51 +01:00
Niels
3dfa56795f
added note
2016-01-26 23:27:07 +01:00
Niels
1c80c2231f
linked releases in ChangeLog
2016-01-26 23:10:52 +01:00
Niels
89b07bd3af
added (generated) changelog
2016-01-26 22:59:57 +01:00
Niels
5bc1b65676
clean up (for #154 )
2015-12-14 16:58:49 +01:00
Niels
258f04c561
fixed #154 (no more warnings for incomplete switches)
2015-12-14 16:32:37 +01:00
Niels
bb0d01e597
better compiler matrix
2015-08-21 19:05:47 +02:00
Niels
c85dbef98f
more documentation
2015-06-21 22:42:32 +02:00
Niels
91c330ae01
reorganized repo
2015-06-21 21:24:03 +02:00
Niels
4bb5126502
more documentation
2015-06-21 18:30:08 +02:00
Niels
d972483b33
overworked documentation configuration
2015-06-21 13:39:10 +02:00
Niels
f6040ea3bc
minor change
2015-06-21 13:16:52 +02:00
Niels
e0fa56f84f
clean up
2015-06-21 13:14:39 +02:00
Niels
332b10998a
clean up
2015-06-21 13:12:17 +02:00
Niels
022c11bf86
broke Makefile
2015-06-21 12:48:18 +02:00
Niels
d200abfb5f
automatic commit
2015-06-21 12:47:35 +02:00
Niels
e289eada49
added target to update Doxygen
2015-06-21 12:45:46 +02:00
Niels
c40e85920f
more documentation
2015-06-21 09:44:12 +02:00
Niels
bb13c931b3
more documentation
2015-06-21 02:14:01 +02:00
Niels
e63c508172
overworked doxygen
2015-06-21 00:59:33 +02:00
Niels
9dbb4402fb
improved performance for dump()
2015-06-03 23:34:10 +02:00
Niels
cb873a42ed
added Benchpress benchmarks
2015-06-02 23:57:45 +02:00
Niels
1068ad106b
fixed Makefile
2015-04-27 22:35:45 +02:00
Niels
ae2676e7f0
fixed Makefile
2015-04-26 22:25:38 +02:00
Niels
f874b5f0f8
clean up
...
- removed m_final member
- parse_internal now takes a reference to a basic_json object to fill
with data
- header is automatically regenerated if re2c file is changed
2015-04-26 21:43:47 +02:00
Niels
a372937424
fixed some small issues
2015-04-26 13:37:01 +02:00
Daniel Kopecek
ad6ad4ae1e
Fix compilation of json_unit with GCC 5
...
Addressing:
```
+ make json_unit
g++ -std=c++11 -Wall -Wextra -pedantic -Weffc++ -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-overflow=5 -Wswitch -Wundef -Wno-unused -Wnon-virtual-dtor -Wreorder -Wdeprecated -Wfloat-equal -I src -I test -Dprivate=public test/unit.cpp -o json_unit
In file included from test/catch.hpp:65:0,
from test/unit.cpp:11:
/usr/include/c++/5.0.0/sstream:300:7: error: 'struct std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__xfer_bufptrs' redeclared with different access
struct __xfer_bufptrs
```
2015-04-14 16:02:49 +02:00
Niels
43417c350b
fixed #42 (removed equality comparisons for floats)
2015-03-23 23:03:48 +01:00
Niels
f2957dc3bf
fixed #45 (added count function for keys in objects)
2015-03-22 19:07:43 +01:00
Niels
d87e770767
forgot Makefile
2015-02-13 22:12:27 +01:00