Alvaro Herrera napsal(a):
> Zdenek Kotala wrote:
>> Alvaro Herrera wrote:
>
>>> (Digging further, it seems like bufpage.h should also include transam.h
>>> in order to get TransactionIdIsNormal ... I start to wonder how many
>>> problems of this nature we have on our headers. Without having a way to
>>> detect whether the defined macros are valid, it seems hard to check
>>> programatically, however.)
>> I attached script which should check it. In first step it runs C
>> preprocessor on each header (postgres.h is included as well). The output
>> from first step is processed again with preprocessor and define.h is
>> included. Define.h contains "all" used macros in following format:
>>
>> #define SIGABRT "NOT_EXPANDED_SIGABRT"
>>
>> Main problem is how to generate define.h. I used following magic:
>>
>> grep "^#define" `find . -name "*.h"` | cut -d" " -f 2 | cut -f 1 | cut -f 1 -d"("
>>
>> but it generates some noise as well. Maybe some Perl or AWK magic should be better.
>
> So were you able to detect anything bogus with this technique?
>
No, everything looks OK.
Zdenek