Re: Note about include files

From: Alfred Perlstein <bright(at)wintelcom(dot)net>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Note about include files
Date: 2000-10-02 09:58:38
Message-ID: 20001002025838.S27736@fw.wintelcom.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

* Peter Eisentraut <peter_e(at)gmx(dot)net> [001002 02:51] wrote:
> The file "postgres.h" (or "c.h" or "config.h", whatever is used) needs to
> be the very *first* file included by each source file. Next time you
> touch a source file, please check that this is the case.
>
> The obvious failure mode is that if config.h redefines const, volatile, or
> inline then it will cause confusion when some system headers are included
> before and some after that definition.
>
> The slightly more esoteric problem I encountered is that when you compile
> with CC='gcc -std=c99 -pedantic' on a glibc platform (i.e., "Linux") then
> you need to define _SVID_SOURCE and _BSD_SOURCE before including any
> system header in order to get the full feature set from the headers.
>
> (Unfortunately, the flex output does not observe this rule either, so we
> can't be 100% pedantic warning safe without doing surgery on those files.)

gcc supports the '-include' directive which may be what you want.

--
-Alfred Perlstein - [bright(at)wintelcom(dot)net|alfred(at)freebsd(dot)org]
"I have the heart of a child; I keep it in a jar on my desk."

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2000-10-02 11:09:12 libpq PGHOST
Previous Message Peter Eisentraut 2000-10-02 09:47:48 Note about include files