From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A9D3B3958C27; Thu, 5 Aug 2021 15:34:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A9D3B3958C27 From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/100977] [C++23] Implement C++ Identifier Syntax using Unicode Standard Annex 31 Date: Thu, 05 Aug 2021 15:34:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2021 15:34:53 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D100977 --- Comment #10 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:4805b92a32637b987f924463d6af9dcf95b21f63 commit r12-2771-g4805b92a32637b987f924463d6af9dcf95b21f63 Author: Jakub Jelinek Date: Thu Aug 5 17:34:16 2021 +0200 libcpp: Fix makeucnid bug with combining values [PR100977] I've noticed in ucnid.h two adjacent lines that had all flags and combi= ne values identical and as such were supposed to be merged. This is due to a bug in makeucnid.c, which records last_flag, last_combine and really_safe of what has just been printed, but because of a typo mishandles it for last_combine, always compares again= st the combining_value[0] which is 0. This has two effects on the table, one is that often the table is unnecessarily large, as for non-zero .combine every character has its o= wn record instead of adjacent characters with the same flags and combine being merged. This means larger tables. The other is that sometimes the last char that has combine set doesn't actually have it in the tables, because the code is printing entries on= ly upon seeing the next character and if that character does have combining_value of 0 and flags are otherwise the same as previously printed, it will not print anything. The following patch fixes that, for clarity what exactly it affects I've regenerated with the same Unicode files as last time it has been regenerated. 2021-08-05 Jakub Jelinek PR c++/100977 * makeucnid.c (write_table): Fix computation of last_combine. * ucnid.h: Regenerated using Unicode 6.3.0 files.=