Re: C++ keywords in headers (was Re: [GENERAL] #include )

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: C++ keywords in headers (was Re: [GENERAL] #include )
Дата
Msg-id 4D17B990.4020005@dunslane.net
обсуждение исходный текст
Ответ на C++ keywords in headers (was Re: [GENERAL] #include )  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

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



Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Re: [COMMITTERS] pgsql: Add foreign data wrapper error code values for SQL/MED.
Следующее
От: Hitoshi Harada
Дата:
Сообщение: Re: knngist - 0.8