[Bug 280796] chinese/opencc: fix build with clang 19

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 16 Aug 2024 15:45:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280796

--- Comment #3 from commit-hook@FreeBSD.org ---
A commit in branch 2024Q3 references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=119f5ebf6044f8c5333e1e8e1671532dd057eb17

commit 119f5ebf6044f8c5333e1e8e1671532dd057eb17
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-08-13 12:12:32 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-08-16 15:44:23 +0000

    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

    (cherry picked from commit 438b693be17d522b4a9a6620b5848ae965937511)

 .../patch-deps_rapidjson-1.1.0_rapidjson_document.h (new)     | 11 +++++++++++
 1 file changed, 11 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.