Oskari Saarenmaa <o...@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 does CPPFLAGS="$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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers