| 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: | Whole Thread | Raw Message | 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."
| 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 |