Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qbBJb-00BJ3d-4c for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Aug 2023 02:52:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qbBJX-00Duu2-Pz for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Aug 2023 02:52:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qbBJX-00Duto-6R for pgsql-hackers@lists.postgresql.org; Wed, 30 Aug 2023 02:52:15 +0000 Received: from momjian.us ([72.94.173.45]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qbBJS-001r7V-SF for pgsql-hackers@postgresql.org; Wed, 30 Aug 2023 02:52:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momjian.us; s=2023062407; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description; bh=9AAzrUQ4yT/XkBq7lbNwVXwcBPMWhXn5WDWbhlsIphM=; b=08BwQ F0EUBToWOUD6taThZiSLDpqUm5ZN574KieyHONA17o8/B2vtv7D7S+ntb0ulYmAqBAab1Q8wK8Z+2 egal7xxolzNpFhgrj4JyX4DFg9yAlxyky384my+nxCQDNDNAMWAHQ+QchCOJZRoskTWAb4aDi53Bd WTxw25BxdKe3Bo3PM0upU9KItg9CyQfqSQY2r7cURd9koNOH++4ybzUes44UtbQra51MWM/fqkLPo /g8hj8Fu5E8cVnfBwMZXyvFMbtmytMpBoM7butQkY/wMVRi7Ek6EFq9anRBY8o+3doYMY3y+Mz+6+ feY4O5uOXhKDmS2RZ3IGQ8ZgTvakQ==; Received: from bruce by momjian.us with local (Exim 4.96) (envelope-from ) id 1qbBJO-002dPd-3D; Tue, 29 Aug 2023 22:52:06 -0400 Date: Tue, 29 Aug 2023 22:52:06 -0400 From: Bruce Momjian To: Tom Lane Cc: John Naylor , David Rowley , PostgreSQL-development Subject: Re: Debian 12 gcc warning Message-ID: References: <1006857.1693318716@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="EObcGbI7GjIs2WMZ" Content-Disposition: inline In-Reply-To: <1006857.1693318716@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --EObcGbI7GjIs2WMZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Aug 29, 2023 at 10:18:36AM -0400, Tom Lane wrote: > Bruce Momjian writes: > > On Tue, Aug 29, 2023 at 10:26:27AM +0700, John Naylor wrote: > >> It looks like the former, since I can silence it on gcc 13 / -O1 by doing: > >> /* keep compiler quiet */ > >> actual_arg_types[0] = InvalidOid; > > > Agreed, that fixes it for me too. In fact, assigning to only element 99 or > > 200 also prevents the warning, and considering the array is defined for > > 100 elements, the fact is accepts 200 isn't a good thing. Patch attached. > > That seems like a pretty clear compiler bug, particularly since it just > appears in this one version. Rather than contorting our code, I'd > suggest filing a gcc bug. I assume I have to create a test case to report this to the gcc team. I tried to create such a test case on gcc 12 but it doesn't generate the warning. Attached is my attempt. Any ideas? I assume we can't just tell them to download our software and compile it. -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Only you can decide what is important to you. --EObcGbI7GjIs2WMZ Content-Type: application/zip Content-Disposition: attachment; filename="test_gcc_12.2.0-O1.zip" Content-Transfer-Encoding: base64 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 iS+A0h5o4hxo/EgG7PF3A2oRLJ64oHrR4w+b3SDwAkpPgNLcUHvQ9XMyYMYdCFRA7ddDE0f3 vyAO/R+gCjMI6AcAUEsBAh4DCgAAAAAAL7YdVwAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1B AAAAAHRlc3RfZ2NjXzEyLjIuMC1PMS9VVAUAAzmu7mR1eAsAAQQAAAAABAAAAABQSwECHgMU AAAACABuoR1XLR1tgYsAAADaAAAAKQAYAAAAAAABAAAApIFNAAAAdGVzdF9nY2NfMTIuMi4w LU8xL3Rlc3RfZ2NjXzEyLjIuMC1PMV8zLmNVVAUAAy+J7mR1eAsAAQQAAAAABAAAAABQSwEC HgMUAAAACAAFtB1Xq9NYZJsJAABoPwAAJQAYAAAAAAAAAAAA7YE7AQAAdGVzdF9nY2NfMTIu Mi4wLU8xL3Rlc3RfZ2NjXzEyLjIuMC1PMVVUBQADKaruZHV4CwABBAAAAAAEAAAAAFBLAQIe AxQAAAAIAFSzHVfTjiJ1xQEAAHgFAAApABgAAAAAAAAAAACkgTULAAB0ZXN0X2djY18xMi4y LjAtTzEvdGVzdF9nY2NfMTIuMi4wLU8xXzEub1VUBQAD4KjuZHV4CwABBAAAAAAEAAAAAFBL AQIeAxQAAAAIALehHVfX8X0WmQAAAOkAAAApABgAAAAAAAEAAACkgV0NAAB0ZXN0X2djY18x Mi4yLjAtTzEvdGVzdF9nY2NfMTIuMi4wLU8xXzEuY1VUBQADuYnuZHV4CwABBAAAAAAEAAAA AFBLAQIeAxQAAAAIAAW0HVcQi/TbrAEAABAFAAApABgAAAAAAAAAAACkgVkOAAB0ZXN0X2dj Y18xMi4yLjAtTzEvdGVzdF9nY2NfMTIuMi4wLU8xXzIub1VUBQADKaruZHV4CwABBAAAAAAE AAAAAFBLAQIeAxQAAAAIAAS0HVdZKZi/ogAAADABAAApABgAAAAAAAEAAACkgWgQAAB0ZXN0 X2djY18xMi4yLjAtTzEvdGVzdF9nY2NfMTIuMi4wLU8xXzIuY1VUBQADKKruZHV4CwABBAAA AAAEAAAAAFBLAQIeAxQAAAAIAFOzHVc7YCfyqAEAABUEAAAbABgAAAAAAAEAAACkgW0RAAB0 ZXN0X2djY18xMi4yLjAtTzEvTWFrZWZpbGVVVAUAA96o7mR1eAsAAQQAAAAABAAAAABQSwEC HgMUAAAACABUsx1X78vZx/kBAACYBQAAKQAYAAAAAAAAAAAApIFqEwAAdGVzdF9nY2NfMTIu Mi4wLU8xL3Rlc3RfZ2NjXzEyLjIuMC1PMV8zLm9VVAUAA+Co7mR1eAsAAQQAAAAABAAAAABQ SwUGAAAAAAkACQC/AwAAxhUAAAAA --EObcGbI7GjIs2WMZ--