From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from outbound-ss-761.bluehost.com (outbound-ss-761.bluehost.com [74.220.211.250]) by sourceware.org (Postfix) with ESMTPS id D7F513858CDA for ; Fri, 7 Oct 2022 20:11:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7F513858CDA Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw11.mail.unifiedlayer.com (unknown [10.0.90.126]) by progateway8.mail.pro1.eigbox.com (Postfix) with ESMTP id 21E671003F1E4 for ; Fri, 7 Oct 2022 20:10:58 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id gtgPoO6BXN9WmgtgPoHqbd; Fri, 07 Oct 2022 20:10:58 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=fq0Z2H0f c=1 sm=1 tr=0 ts=634087d2 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=Qawa6l4ZSaYA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=CCpqsmhAAAAA:8 a=DYI_6Q_b_0qCHxMShusA:9 a=ul9cdbp4aOFLsgKbc677:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=drOkNy1tzt6bbN5E8psL0qWkRv6DdWXL/5e18EHyVK8=; b=KQkjUuw4UN00v2pkH2Us7Lg6Xj Luh9+qYEslz/ePHQ/fVEkslFnx8d2u38OeFlsYqVd3DfAtf8crnpQ94cJuXvzEMXYAbMxwUIobIzA wXLHkpLRo30FgdleIrxVFGc8p; Received: from 71-211-160-49.hlrn.qwest.net ([71.211.160.49]:56630 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1ogtgO-00114V-SQ; Fri, 07 Oct 2022 14:10:56 -0600 From: Tom Tromey To: Patrick Monnerat via Gdb-patches Subject: Re: [PATCH] gdb: add UTF16/UTF32 target charsets in phony_iconv References: <20221002140010.106238-1-patrick@monnerat.net> X-Attribution: Tom Date: Fri, 07 Oct 2022 14:10:50 -0600 In-Reply-To: <20221002140010.106238-1-patrick@monnerat.net> (Patrick Monnerat via Gdb-patches's message of "Sun, 2 Oct 2022 16:00:10 +0200") Message-ID: <87k05bs8c5.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.160.49 X-Source-L: No X-Exim-ID: 1ogtgO-00114V-SQ X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-160-49.hlrn.qwest.net (murgatroyd) [71.211.160.49]:56630 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3022.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Oct 2022 20:11:11 -0000 >>>>> "Patrick" == Patrick Monnerat via Gdb-patches writes: Patrick> Function phony_iconv is substituted to the system-supplied iconv on Patrick> platforms where the latter is deficient. I sort of hate to improve the phony iconv, but I get why one might want to. Patrick> Conditonal statements decide when the substitution occurs. This Patrick> currently enables it for mingw (wchar_t is not UTF-32) even when the Patrick> system-supplied iconv is suitable for gdb use. I don't recall the outcome from this, but is there no way to improve gdb to use this iconv? If it truly works well enough then it seems like it would be the better approach. Patrick> + static struct This can also be const. Patrick> +#if WORDS_BIGENDIAN Patrick> + { "wchar_t", (sizeof (gdb_wchar_t) - 1) | TOKEN_BIGENDIAN }, Patrick> +#else Patrick> + { "wchar_t", (sizeof (gdb_wchar_t) - 1) }, Patrick> +#endif This has tabs before the strings but there's no need. Patrick> + { NULL, -1 } ... Patrick> + for (auto p = encodings; p->name; p++) Patrick> + if (strcmp (encoding, p->name) == 0) Patrick> + return p->token; You can drop the trailing null entry and just do: for (auto p : encodings) Patrick> + if(token & ~((TOKEN_MASK << TOKEN_BITS) | TOKEN_MASK)) Missing space after the "if". Patrick> + maxval = 1UL << (7 * tosize); /* Split shift to avoid count overflow. */ gdb doesn't generally use comments at the end of the line. Tom