Re: missing isinf declaration on solaris
От | Tom Lane |
---|---|
Тема | Re: missing isinf declaration on solaris |
Дата | |
Msg-id | 13871.1411561534@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | missing isinf declaration on solaris (Oskari Saarenmaa <os@ohmu.fi>) |
Ответы |
Re: missing isinf declaration on solaris
Re: missing isinf declaration on solaris |
Список | pgsql-hackers |
Oskari Saarenmaa <os@ohmu.fi> writes: > GCC 4.9 build on Solaris 10 shows these warnings about isinf: > float.c: In function 'is_infinite': > float.c:178:2: warning: implicit declaration of function 'isinf' Ugh. > isinf declaration is in <iso/math_c99.h> which is included by <math.h>, > but it's surrounded by #if defined(_STDC_C99) || _XOPEN_SOURCE - 0 >= > 600 || defined(__C99FEATURES__). A couple of quick Google searches > suggests that some other projects have worked around this by always > defining __C99FEATURES__ even if compiling in C89 mode. __C99FEATURES__ > is only used by math.h and fenv.h in /usr/include. > Should we just add -D__C99FEATURES__ to CPPFLAGS in > src/template/solaris, add our own declaration of isinf() or do something > else about the warning? I'm worried that __C99FEATURES__ might do other, not-so-C89-compatible things in later Solaris releases. Possibly that risk could be addressed by having src/template/solaris make an OS version check before adding the switch, but it'd be a bit painful probably. Based on the #if you show, I'd be more inclined to think about defining _XOPEN_SOURCE to get the result. There is precedent for that in src/template/hpux which doesCPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" I forget what-all _XOPEN_SOURCE_EXTENDED enables exactly, but if memory serves there were a nontrivial number of now-considered-standard features turned on by that in ancient HPUX releases. If you want to pursue this route, you'd need to do a bit of digging to see what else _XOPEN_SOURCE controls in Solaris and if there is some front-end feature macro (like _XOPEN_SOURCE_EXTENDED) that you're supposed to set instead of touching it directly. regards, tom lane
В списке pgsql-hackers по дате отправления: