1212 Commits

Author SHA1 Message Date
Jordan Bayles
7924d3ff97 Update version.h.in header comments
Currently, the comments in the version.h.in header file are
incorrect. This tiny patch just updates them.
2019-07-01 13:23:53 -07:00
Jordan Bayles
95b3092ce4 Fix comments on Json Reader
There have been multiple discussions of the inaccurate comments in the
Json Reader class. This patch just updates those comments.
2019-06-28 10:25:13 -07:00
Jordan Bayles
f8db40ff83 Update minimum CMake version requirement 2019-06-28 10:24:50 -07:00
Jordan Bayles
44bc38f0a1 Issue #633: Fix issue with maxInt
This patch is a minor fix to Json::OurReader to properly check against
maxLargestInt, not maxInt. Some cleanup in the decodeNumber method is
included.
2019-06-28 09:43:32 -07:00
Jordan Bayles
ddc9e0fcd7 Run clang-format on the repository
We currently don't have any checks for clang formatting as part of our
check-in process, this is an incremental patch to get things compliant.
2019-06-27 12:25:42 -07:00
Google AutoFuzz Team
879a5b80ce Add fuzz.cpp to jsoncpp_test 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
dc170e30e2 Update main.cpp 2019-06-27 11:58:42 -07:00
Google-Autofuzz
d148e28b9b added fuzz.cpp to macro in main.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
bcc0472621 Update jsontest.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
c4d1cb1cd1 Update jsontest.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
336c300ca4 Update jsontest.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
400ec89811 Update CMakeLists.txt 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
181f9eb129 Update CMakeLists.txt 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
13afd0e455 Update main.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
caa2f3bf42 Update main.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
fdcd2fc232 Update main.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
92cc77392e Added include fuzz.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
7e69f15a64 added llvm 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
8e01024ce3 fix llvm 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
6d236e1948 Update fuzz.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
d81a3caece Update fuzz.h 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
2939d85b84 Update fuzz.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
9725530a4f Update fuzz.h 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
576b271a04 Update fuzz.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
9d6db96f36 Update fuzz.h 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
46d35659ef Update fuzz.h 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
29434414d7 Update fuzz.cpp 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
3247202676 Updated fuzz.h 2019-06-27 11:58:42 -07:00
Google AutoFuzz Team
0e3b22dd3a Updated header and fixed the bug 2019-06-27 11:58:42 -07:00
Autofuzz team
786851819e Add a simple fuzz test for jsoncpp. 2019-06-27 11:58:42 -07:00
Olivier LIESS
629a727b5f version.h : wrong file was deployed, added required include path and 2019-06-26 09:05:34 -07:00
cmlchen
c51d718ead extract variable 2019-06-26 09:03:12 -07:00
cmlchen
7c7ccbf934 fix compile problem 2019-06-26 09:03:12 -07:00
cmlchen
b7feb2d493 use fpclassify to test a float number is zero or nan 2019-06-26 09:03:12 -07:00
chenguoping
5510f14a71 repair a typo error 2019-06-25 15:16:16 -07:00
Jordan Bayles
d34479ec34 Issue 920: Fix android build with casting fix
This patch removes an unchecked conversion from a 64bit wide type
to a 32bit wide type, fixing a compile error on some platforms.

Issue:920
2019-06-25 15:14:53 -07:00
Billy Donahue
dd6921f479 Add WideString test for Issue #756 2019-06-25 15:14:01 -07:00
Jordan Bayles
101d4797db
Merge pull request #955 from baylesj/yaml-cleanups
Modernize Travis and Appveyor configs
2019-06-25 14:56:34 -07:00
Jordan Bayles
2690bc9a9a Update appveyor to use build images 2019-06-25 14:48:40 -07:00
Jordan Bayles
c84f2e19c9 Update travis scripts 2019-06-25 14:40:55 -07:00
Jordan Bayles
408b466b57 Modernize Travis and Appveyor configs
This PR updates the Travis and Appveyor configs to use more recent
toolchain versions, allowing for better C++11 compliance.
2019-06-25 14:27:26 -07:00
Jordan Bayles
2a3ae0e79f
Merge pull request #932 from oleurodecision/cmake_clean
cmake cleanup
2019-06-25 13:59:46 -07:00
Jordan Bayles
2d211de06e Update issue templates 2019-06-24 14:40:08 -07:00
Jordan Bayles
18e51e23fd Update issue templates 2019-06-24 14:38:38 -07:00
Jordan Bayles
56c41fbd88
Merge pull request #934 from oleurodecision/cmake_config_version
added cmake config version file for proper cmake delivery
2019-06-24 14:32:55 -07:00
Jordan Bayles
4babd12a25
Merge pull request #953 from baylesj/clang-format
Run clang format
2019-06-24 14:25:16 -07:00
Jordan Bayles
6935317d84
Merge pull request #952 from baylesj/update-meson-req
Update meson build requirement
2019-06-24 14:08:10 -07:00
Jordan Bayles
d5bd1a7716 Run clang format
Clang format hasn't been run on some recent checkins. This patch updates
the repository with clang format properly run on all files.
2019-06-24 14:06:45 -07:00
Jordan Bayles
f7182a0fdc
Update CONTRIBUTING.md
Added style information.
2019-06-24 14:05:18 -07:00
Jordan Bayles
be4dc51c1f
Update README.md
Separate contributing guidelines into their own separate documentation.
2019-06-24 13:54:28 -07:00
Jordan Bayles
12461e5bf1
Create CONTRIBUTING.md 2019-06-24 13:53:55 -07:00
Jordan Bayles
185dfd592d Update meson build requirement
Currently, we have a build type warning due to listing a requirement for
meson build version that doesn't implement features we use in our build
file. The minimum meson build version required is actually 0.50.0, so
this PR updates our meson.build file to depend on 0.50.0.
2019-06-24 13:38:00 -07:00
Jordan Bayles
518875d2ea
Update AUTHORS 2019-06-24 13:32:20 -07:00
Jordan Bayles
3e4c8f8f1d
Merge pull request #935 from abigailbunyan/forward-declarations
Add missing classes to forwards.h
2019-06-24 12:50:59 -07:00
Jordan Bayles
83cc92161b Fix JSON_USE_EXCEPTION=0 use case
This patch fixes the JSON_USE_EXCEPTION flag. Currently, due to the
throwRuntimeError and throwLogicError methods implemented in json_value,
even if JSON_USE_EXCEPTION is set to 0 jsoncpp will still throw. This
breaks integration into projects with -fno-exceptions set, such as
Chromium.
2019-06-21 18:16:52 -05:00
Olivier LIESS
85f5b1c8f9 fixed typos 2019-06-03 16:31:07 +02:00
Abigail Bunyan
1234f4227b Add missing classes to forwards.h
Fixes #904.
2019-06-03 15:04:01 +01:00
Olivier LIESS
8d2095af3c cmake fixes 2019-06-03 12:45:24 +02:00
Olivier LIESS
0155f38b5b added cmake config version file for proper cmake delivery 2019-06-03 12:39:50 +02:00
David Demelier
5b91551f39 Rename version.md to version.txt 2019-04-24 23:56:30 -05:00
David Demelier
27290cf81d Use version.md in dev.makefile 2019-04-24 23:56:30 -05:00
David Demelier
27b9501683 Fix build with libc++, closes #910 2019-04-24 23:56:30 -05:00
Frank Richter
b16abf8ce1 Explicitly set JSON_API to 'default' visibility on clang & gcc 2019-04-08 18:08:25 -05:00
Christopher Dunn
cd1121290a
Merge pull request #901 from res2k/demand
Implement Value::demand()
2019-03-30 09:39:32 -05:00
Frank Richter
69402d1fbb Bump minor version, SOVERSION 2019-03-23 21:03:30 +01:00
Christopher Dunn
3e2f8d3ea8
Merge pull request #902 from res2k/fix-888
Fix #888
2019-03-23 14:43:56 -05:00
Frank Richter
99a99d4032 Cast to unsigned char in Value::setType() to appease gcc (issue #888) 2019-03-23 15:04:30 +01:00
Frank Richter
9a629bc5e1 tests: Add a comment 2019-03-23 14:39:59 +01:00
Frank Richter
d76fe5687d Implement Value::demand() 2019-03-23 14:32:13 +01:00
Frank Richter
eb7bd9546e Value::find(): Fix assert message 2019-03-23 14:32:13 +01:00
Frank Richter
0adb053294 tests: Add small checks for find() 2019-03-23 14:16:13 +01:00
Willem
863aa36165 Update README.md
Update the link to the conan page, as https://conan.io/source/jsoncpp/1.8.0/theirix/ci returns a 404.
2019-03-20 00:12:33 -05:00
Billy Donahue
9a55d22d3d remove JSON_HAS_RVALUE_REFERENCES 2019-03-01 06:32:18 -06:00
Billy Donahue
00558b38db VS2013 doesn't allow move ops to be =default 2019-03-01 06:31:58 -06:00
Billy Donahue
433107f1d9 refactor comments_ into a class 2019-03-01 06:31:58 -06:00
Christopher Dunn
a732207060
Merge pull request #883 from hjmjohnson/remove-msvc2010
COMP: Remove build files for unsupported IDE's
2019-02-28 22:26:50 -06:00
Marcel Raad
36d8cfd768 Fix macro redefinition warning with clang-cl
clang-cl defines _MSC_VER by default, so JSONCPP_DEPRECATED was first
defined for MSVC and then redefined for clang. Integrate the MSVC
definition into the block with clang and GCC's JSONCPP_DEPRECATED
definitions to fix this.
2019-02-28 22:19:13 -06:00
Hans Johnson
2ab1d63480 COMP: Remove visual studio specialization in favor of meson or cmake
More robust build environments can be generated from meson
or cmake rather than including those files in every download.
2019-01-24 09:57:56 -06:00
Hans Johnson
b4ca2db5ff COMP: Remove build files for unsupported IDE's
The msvc2010 and vs71 IDE's do not support sufficient
C++11 feature sets for jsoncpp.

Remove these build environments.

resolves: #882
2019-01-24 09:00:55 -06:00
Billy Donahue
0c1cc6e1a3
pack the {type,allocated} bitfield (#876)
* pack the {type,allocated} bitfield (Issue#873)
This allows special functions to be implemented more easily.
2019-01-20 23:59:16 -05:00
Billy Donahue
d85d75045c Issue #872: add json/allocator.h in the amalgamated header.
I don't know why we didn't include this before.
It seems to work fine.
2019-01-20 22:13:38 -05:00
Billy Donahue
2b593a9da8 apply the C++11 style change in .clang-format 2019-01-18 07:02:16 -06:00
Billy Donahue
756a08fbbd switch .clang-format to C++11 2019-01-18 07:02:16 -06:00
Hans Johnson
2c257590a1 BUG: VERSION_LESS_EQUAL introduced in cmake 3.7
Older versions of cmake, according to documentation:
https://cmake.org/cmake/help/v3.5/command/if.html , do not know
VERSION_LESS_EQUAL, just VERSION_LESS.

This leads to errors:

CMake Error at somewhere/jsoncpp/CMakeLists.txt:18 (if):
  if given arguments:

    "3.5.1" "VERSION_LESS_EQUAL" "3.13.1"

  Unknown arguments specified

Resolves: #866
2019-01-18 07:00:39 -06:00
Hans Johnson
deb6cca214 STYLE: FATAL_ERROR ignored in cmake_required_minimum since 2.6.0 2019-01-18 07:00:39 -06:00
Billy Donahue
b9ed29a221
Jsoncpp aliases 2 (#868)
convert JSONCPP_STRING etc from macros to typedefs
2019-01-17 23:26:28 -05:00
Billy Donahue
1c2ed7a10f convert JSONCPP_STRING etc from macros to typedefs 2019-01-17 23:14:18 -05:00
Billy Donahue
6e7cbf8f54
Merge pull request #867 from BillyDonahue/apply_clang_format
Reapply clang-format.
2019-01-17 15:30:37 -05:00
Billy Donahue
dc4a7f9b61 Reapply clang-format.
$ clang-format -i -style=file \
        $(find  . | egrep '.*\.(h|cpp|inl)$')
2019-01-17 11:11:55 -05:00
Hans Johnson
21a4185634 STYLE: Avoid unnecessary conversions from size_t to unsigned int
Make the index values consistent with size_t.
2019-01-15 18:30:49 -06:00
Hans Johnson
d11732043a STYLE: Pefer = delete to explicitly trivial implementations
This check replaces undefined special member functions with
= delete;. The explicitly deleted function declarations enable more
opportunities in optimization, because the compiler might treat
explicitly delted functions as noops.

Additionally, the C++11 use of = delete more clearly expreses the
intent for the special member functions.

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-use-equals-delete  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
e3e05c7085 STYLE: Pefer = default to explicitly trivial implementations
This check replaces default bodies of special member functions with
= default;. The explicitly defaulted function declarations enable more
opportunities in optimization, because the compiler might treat
explicitly defaulted functions as trivial.

Additionally, the C++11 use of = default more clearly expreses the
intent for the special member functions.

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-use-equals-default  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
e817e4fc25 STYLE: Use default member initialization
Converts a default constructor’s member initializers into the new
default member initializers in C++11. Other member initializers that match the
default member initializer are removed. This can reduce repeated code or allow
use of ‘= default’.

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-use-default-member-init  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
b5093e8122 PERF: Allow compiler to choose best way to construct a copy
With move semantics added to the language and the standard library updated with
move constructors added for many types it is now interesting to take an
argument directly by value, instead of by const-reference, and then copy. This
check allows the compiler to take care of choosing the best way to construct
the copy.

The transformation is usually beneficial when the calling code passes an rvalue
and assumes the move construction is a cheap operation. This short example
illustrates how the construction of the value happens:

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-pass-by-value  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
1fc3de7ca1 STYLE: Use auto for variable type matches the type of the initializer expression
This check is responsible for using the auto type specifier for variable
declarations to improve code readability and maintainability.

The auto type specifier will only be introduced in situations where the
variable type matches the type of the initializer expression. In other words
auto should deduce the same type that was originally spelled in the source

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-use-auto -header-filter = .* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
cbeed7b076 STYLE: Use range-based loops from C++11
C++11 Range based for loops can be used in

Used as a more readable equivalent to the traditional for loop operating over a
range of values, such as all elements in a container, in the forward direction..

Range based loopes are more explicit for only computing the
end location once for containers.

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-loop-convert  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
Hans Johnson
3beadff472 PERF: readability container size empty
The emptiness of a container should be checked using the empty() method
instead of the size() method. It is not guaranteed that size() is a
constant-time function, and it is generally more efficient and also
shows clearer intent to use empty(). Furthermore some containers may
implement the empty() method but not implement the size() method. Using
empty() whenever possible makes it easier to switch to another container
in the future.

SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD

cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,readability-container-size-empty  -header-filter=.* -fix
2019-01-15 18:30:49 -06:00
James Clarke
d3d2e17b64 Switch to the VCPP dll 2019-01-15 09:01:19 -06:00
James Clarke
908383abeb Fix bogus asm setting 2019-01-15 09:01:19 -06:00
James Clarke
fdc0824505 Add amd64 support 2019-01-15 09:01:19 -06:00