Re: Note about include files]
От | Bruce Momjian |
---|---|
Тема | Re: Note about include files] |
Дата | |
Msg-id | 200010080428.AAA04120@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Note about include files (Peter Eisentraut <peter_e@gmx.net>) |
Список | 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@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: