Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hWSsi-0006fz-TO for pgsql-hackers@arkaria.postgresql.org; Thu, 30 May 2019 21:46:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hWSsg-0003Q9-BH for pgsql-hackers@arkaria.postgresql.org; Thu, 30 May 2019 21:46:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hWSsg-0003Pz-2x for pgsql-hackers@lists.postgresql.org; Thu, 30 May 2019 21:46:38 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hWSsc-0002WH-S1 for pgsql-hackers@lists.postgresql.org; Thu, 30 May 2019 21:46:37 +0000 Received: from pro.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id x4ULkSuW005783; Thu, 30 May 2019 17:46:28 -0400 From: Tom Lane To: pgsql-hackers@lists.postgresql.org cc: =?koi8-r?B?9MHSwdPP1yDnxc/Sx8nKIPfJ1MHM2MXXyd4=?= Subject: Re: compiling PL/pgSQL plugin with C++ In-reply-to: <51937.1559231664@sss.pgh.pa.us> References: <51937.1559231664@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Thu, 30 May 2019 11:54:24 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <74480.1559252788.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Thu, 30 May 2019 17:46:28 -0400 Message-ID: <74481.1559252788@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I wrote: > I propose that we change src/tools/pginclude/cpluspluscheck so that > it searches basically everywhere: = > -for f in `find src/include src/interfaces/libpq/libpq-fe.h src/interfac= es/libpq/libpq-events.h -name '*.h' -print | \ > +for f in `find src contrib -name '*.h' -print | \ After further experimentation with that, it seems like we'll have to continue to exclude src/bin/pg_dump/*.h from the C++ check. pg_dump uses "public" and "namespace" as field names in various structs, both of which are C++ keywords. Changing these names would be quite invasive, and at least in the short run I see no payoff for doing so. ecpg/preproc/type.h is also using "new" as a field name, but it looks like there are few enough references that renaming that field isn't unreasonable. There are various other minor issues, but they generally look fixable with little consequence. regards, tom lane