Re: src/tools/pginclude considered harmful (was Re: [PATCHES]

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org, Kris Jurka <books(at)ejurka(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>
Subject: Re: src/tools/pginclude considered harmful (was Re: [PATCHES]
Date: 2006-07-14 20:50:09
Message-ID: 4887.1152910209@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> On Fri, Jul 14, 2006 at 04:24:59PM -0400, Tom Lane wrote:
>> After some reflection it seems that there is only one case where removal
>> of a needed include file would not lead to a compiler error or warning,
>> assuming gcc with ordinary -W settings (notably -Wmissing-prototypes).
>> That case is exactly what Kris found: removal of a #define that is
>> tested via #ifdef or #if defined(). (Can anyone think of other cases?)

> My off-the-top-of-my-head solution would be a script that would pass
> each file through "gcc -E" (the preprocessor), and compare before and
> after rearrangement. You'd have to ignore the effects of included
> header files, but it would pick up the cases where a block of code that
> was previously included no longer is. Or if a macro is expanded
> differently...

You'd still have to try to compile the code though; AFAICS the above
doesn't catch whether you've removed a typedef or function declaration
that's referenced in the file.

BTW, one of the remaining holes in pgrminclude is that it compiles with
-fsyntax-only, which apparently causes it to fail to detect some errors
of significance --- I assume that's how it managed to foul up lmgr.c,
inet_net_ntop.c, etc.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2006-07-14 22:02:57 Re: src/tools/pginclude considered harmful (was Re:
Previous Message Tom Lane 2006-07-14 20:41:25 Re: Three weeks left until feature freeze

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2006-07-14 22:02:57 Re: src/tools/pginclude considered harmful (was Re:
Previous Message Martijn van Oosterhout 2006-07-14 20:38:56 Re: src/tools/pginclude considered harmful (was Re: [PATCHES]