Commit Graph

8 Commits

Author SHA1 Message Date
David Korth
0214ec25ec [rapidjson] biginteger.h, diyfp.h: Use softintrin.lib for _umul128 on arm64ec.
Ported from upstream.

extlib\rapidjson\include\rapidjson\internal\biginteger.h(22,9): error C2220: the following warning is treated as an error (compiling source file src\librpbase\TextOut_json.cpp)
extlib\rapidjson\include\rapidjson\internal\biginteger.h(22,9): warning C4163: 'UnsignedMultiply128': not available as an intrinsic function (compiling source file src\librpbase\TextOut_json.cpp)
extlib\rapidjson\include\rapidjson\internal\diyfp.h(27,9): warning C4163: 'UnsignedMultiply128': not available as an intrinsic function (compiling source file src\librpbase\TextOut_json.cpp)
2025-04-19 17:52:16 -04:00
David Korth
266c43c23c [rapidjson] Backport a patch to fix compilation with gcc-14.
Reference: https://bugs.gentoo.org/914581
2023-11-01 00:03:41 -04:00
David Korth
f475f1ee78 [rapidjson] _MODIFIED_RAPIDJSON.txt: Mention the std::iterator inheritance change. 2023-10-21 13:55:18 -04:00
David Korth
503a0b5f0d [rapidjson] Backport a patch to disable inheritance from std::iterator.
rapidjson hasn't had a proper release since August 2016, even though it's
had patches as recently as this past September. This patch is from
December 2017 and reworks GenericMemberIterator to not inherit from
std::iterator.

This fixes several warnings in MSVC when compiling in C++17 mode:

extlib\rapidjson\include\rapidjson/document.h(111,5): warning C4996:
'std::iterator<std::random_access_iterator_tag,internal::MaybeAddConst
    <Const,rapidjson::GenericMember<Encoding,Allocator>>::Type,ptrdiff_t,
    internal::MaybeAddConst<Const,rapidjson::GenericMember<Encoding,Allocator>>
    ::Type*,internal::MaybeAddConst<Const,rapidjson::GenericMember<Encoding,Allocator>>::Type&>':
warning STL4015: The std::iterator class template (used as a base class
to provide typedefs) is deprecated in C++17. (The <iterator> header is NOT
deprecated.) The C++ Standard has never required user-defined iterators to
derive from std::iterator. To fix this warning, stop deriving from
std::iterator and start providing publicly accessible typedefs named
iterator_category, value_type, difference_type, pointer, and reference.
Note that value_type is required to be non-const, even for constant
iterators. You can define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to suppress this warning.
2023-10-21 13:05:35 -04:00
David Korth
72ebce25ff [extlib] Fixed some gcc warnings.
minizip-ng:
extlib/minizip-ng/mz_os_posix.c: In function ‘mz_os_utf8_string_create’:
extlib/minizip-ng/mz_os_posix.c:94:63: warning: unused parameter ‘encoding’ [-Wunused-parameter]
   94 | uint8_t *mz_os_utf8_string_create(const char *string, int32_t encoding) {
      |                                                       ~~~~~~~~^~~~~~~~

rapidjson:
src/librpbase/TextOut_json.cpp:31:
extlib/rapidjson/include/rapidjson/document.h:102:19: warning:
‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference>
struct std::iterator’ is deprecated [-Wdeprecated-declarations]
  102 |     : public std::iterator<std::random_access_iterator_tag
      |                   ^~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_algobase.h:65,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/algorithm:60,
                 from src/librpbase/stdafx.h:28,
                 from src/librpbase/TextOut_json.cpp:10:
/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
2023-02-11 10:04:56 -05:00
David Korth
7e885ba19a [rapidjson] rapidjson.h: Set endianness for MSVC/ARM64.
Fixes #287: [Feature Request] add cross-compilation support for
Windows arm64

Reported by @dennisameling.
2021-03-13 21:57:50 -05:00
David Korth
97822523d6 [win32] RP_ShellPropSheetExt: Added copy to clipboard actions.
- TextOut: Added CRLF linebreak options, which are needed for
  copying to clipboard on Windows.

[rapidjson] prettywriter.h: Added a CRLF linebreak option.
2020-09-06 00:33:13 -04:00
David Korth
cdd88e2455 [rapidjson] Added rapidjson-1.1.0.
The JSON output code will be rewritten to use rapidjson, which will allow
us to add more stuff without having to worry if the resulting text has
the correct formatting.

This adds around 20 KB to the compiled binary.
2020-09-06 00:33:12 -04:00