From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sm.strop.com.pl (sm.strop.com.pl [83.17.179.219]) by sourceware.org (Postfix) with ESMTPS id 82E7F3858D35 for ; Tue, 4 Jul 2023 14:22:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 82E7F3858D35 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ztk-rp.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ztk-rp.eu Received: from zorro.ztk-rp.eu ([::ffff:10.208.4.171]) (TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by sm.strop.com.pl with ESMTPS; Tue, 04 Jul 2023 16:20:34 +0200 id 0000000001281608.0000000064A42AB2.00000E73 Received: from public-gprs569267.centertel.pl ([37.225.86.244]:19193 helo=[192.168.43.32]) by zorro.ztk-rp.eu with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qGgtN-00EOfh-F3; Tue, 04 Jul 2023 16:20:34 +0200 Message-ID: Date: Tue, 4 Jul 2023 16:20:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US From: =?UTF-8?Q?Rafa=c5=82_Pietrak?= To: David Brown , Jonathan Wakely Cc: waffl3x , "gcc@gcc.gnu.org" References: <439affd4-11fe-de80-94c8-6fc64cbf76ec@ztk-rp.eu> <21650b1b-1d2e-7929-3105-b8aaca629272@ztk-rp.eu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 37.225.86.244 X-SA-Exim-Mail-From: embedded@ztk-rp.eu X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,T_SPF_HELO_PERMERROR autolearn=ham autolearn_force=no version=3.4.6 Subject: Re: wishlist: support for shorter pointers X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000) X-SA-Exim-Scanned: Yes (on zorro.ztk-rp.eu) Received-SPF: unknown (IP address lookup failed.) SPF=FROM; sender=embedded@ztk-rp.eu; remoteip=::ffff:10.208.4.171; remotehost=; helo=zorro.ztk-rp.eu; receiver=sm.strop.com.pl; List-Id: W dniu 3.07.2023 o 18:29, Rafał Pietrak pisze: > Hi David, > [--------------] >> 4. It is worth taking a step back, and thinking about how you would >> like to use these pointers.  It is likely that you would be better >> thinking in terms of an array, rather than pointers - after all, you >> don't want to be using dynamically allocated memory here if you can >> avoid it, and certainly not generic malloc().  If you can use an >> array, then your index type can be as small as you like - maybe >> uint8_t is enough. > > I did that trip ... some time ago. May be I discarded the idea > prematurely, but I dropped it because I was afraid of cost of I remember now what was my main problem with indexes implementation: inability to express/write chain "references" with them. Table/index semantic of: t[a][b][c][d]. is a "multidimentional table" which is completely different from "pointer semantic" of: *t->a->b->c->d It is quite legit to do a full circle around a circular list this way, while table semantics doesn't allow that. Indexes are off the table. -R