On 12/26/2010 12:31 PM, Tom Lane wrote:

In any case, I think it's very likely the issue is a C/C++
incompatibility in the Pg headers. It fails for me in a different place
using Pg 9.1git and g++ 4.5, complaining about the use of "private" as
an identifier in fmgr.h, because it's a keyword in C++.
We did clean up C++ keyword uses in the header files in 9.0, but your
report shows it's already gotten broken again.  I'm disinclined to fix
it unless someone steps up to create an automated test that will get run
reasonably often.  We had that discussion when the patch to rename
keyword-named fields was proposed, and nothing got done, and the current
state of affairs is the entirely predictable result.

Here's a script to play with. It needs some tuning but it's a start. Run in the top level directory (where configure etc live).

Sample output:

   found new in src/timezone/private.h
   found private in src/include/fmgr.h
   found not in src/include/libpq/pqcomm.h
   found typeid in src/include/access/htup.h
   found bitor, bitand in src/include/catalog/pg_operator.h
   found bitor, bitand in src/include/catalog/pg_proc.h
   found bitand in src/include/catalog/pg_aggregate.h
   found using in src/include/catalog/indexing.h
   found inline in src/include/nodes/pg_list.h
   found or in src/include/port/win32.h
   found or in src/include/port/cygwin.h
   found typeid in src/include/parser/parse_type.h
   found inline in src/include/portability/instr_time.h
   found inline in src/include/utils/palloc.h
   found bitor, bitand in src/include/utils/varbit.h
   found wchar_t in src/include/mb/pg_wchar.h
   found inline, not, using, this, asm in src/include/storage/s_lock.h
   found new in src/interfaces/ecpg/preproc/type.h
   found new in src/pl/plpgsql/src/plpgsql.h
   found namespace in src/bin/pg_dump/pg_dump.h
   found namespace, public in src/bin/pg_dump/pg_backup_archiver.h
   found namespace in src/bin/pg_dump/pg_backup.h


cheers

andrew


Attachment: find_c_plus_plus_keywords.pl
Description: Perl program

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to