Re: Note about include files]

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
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-08 04:28:07
Message-ID: 200010080428.AAA04120@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 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.)
>
> On a related note, does anyone know why the on_proc_exit and on_shmem_exit
> hooks use a second argument of type `caddr_t' rather than, say, void*,
> char*, Datum, ...? This artifact is the cause of about two thirds of the
> compile errors in the pedantic setting.

That was me. caddr_t was I used for function pointers. Glad you
changed it.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2000-10-08 04:30:29 Re: backup and restore
Previous Message Bruce Momjian 2000-10-08 04:25:29 Re: Re: Alpha spinlock