1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-29 05:38:00 +00:00

chinese/opencc: fix build with clang 19

Clang 19 now diagnoses incorrect member accesses, which causes
chinese/opencc to fail with an error similar to:

    /wrkdirs/usr/ports/chinese/opencc/work/OpenCC-ver.1.1.6/src/../deps/rapidjson-1.1.0/rapidjson/document.h:319:82: error: cannot assign to non-static data member 'length' with const-qualified type 'const SizeType' (aka 'const unsigned int')
      319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
          |                                                                           ~~~~~~ ^
    /wrkdirs/usr/ports/chinese/opencc/work/OpenCC-ver.1.1.6/src/../deps/rapidjson-1.1.0/rapidjson/document.h:325:20: note: non-static data member 'length' declared const here
      325 |     const SizeType length; //!< length of the string (excluding the trailing NULL terminator)
          |     ~~~~~~~~~~~~~~~^~~~~~

Upstream rapidjson fixed this by removing the operator= function in
https://github.com/Tencent/rapidjson/commit/3b2441b8, so pull this in as
a patch and apply it.

PR:		280796
Approved by:	lichray@gmail.com (maintainer)
MFH:		2024Q3
This commit is contained in:
Dimitry Andric 2024-08-13 14:12:32 +02:00
parent 43d0c7131e
commit 438b693be1

View File

@ -0,0 +1,11 @@
--- deps/rapidjson-1.1.0/rapidjson/document.h.orig 2022-12-08 07:44:48 UTC
+++ deps/rapidjson-1.1.0/rapidjson/document.h
@@ -316,8 +316,6 @@ struct GenericStringRef {
GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {}
- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
-
//! implicit conversion to plain CharType pointer
operator const Ch *() const { return s; }