Attached is a patch which makes isnan() and isinf() portable. It is basically a combination of the existence cpp macros of json.c and what is described in the manual http://www.gnu.org/software/autoconf/manual/autoconf.html#Library-Functions , on top of configure check.
As Nikolay suggested, adding the attributes "const" and "always_inline" could be possible but not done in the patch. Although __inline__ is used, it is disabled by AC_C_INLINE if a given compiler doesn't support it. Best regards, Kazunobu Kuriyama 2016-02-28 1:23 GMT+09:00 Bram Moolenaar <[email protected]>: > > Ozaki Kiichi wrote: > > > FYI: > > > > I couldn't build vim on following environments (by vim's default > build-flags). > > > > > > * CentOS 5, gcc 4.1.2 > > > > Old gcc, 4.1.2, doesn't define NAN or INFINITY by default. > > What else can we use instead? Or do we need to disable the feature that > requires it? > > > "-std=gnu99" is needed. > > > > > > * OpenIndiana (Solaris), gcc 4.8.5 > > > > isinf(), NAN, INFITITY are not declared/defined as far as conforming C89 > . > > > > "-std=gnu99" or "-std=c99 and some macros to declare using SUS feature > (e.g. -D_XPG6 -D__EXTENSIONS__)" are needed. > > > > > > >> * alloc.h: comma at end of enum list > > >> > https://github.com/vim/vim/blob/a260b87d9da17f605666630f18c1ed909c2b8bae/src/alloc.h#L20 > > > > > Is there any compiler that complains? Perhaps GCC with forcing ANSI C? > > > > "gcc -ansi -pedantic" reports a warning of using C99 feature. > > Unfortunately that doesn't work on my system (Ubuntu) because some > header files don't work properly then. E.g. lstat() is not declared. > > -- > Close your shells, or I'll kill -9 you > Tomorrow I'll quota you > Remember the disks'll always be full > And then while I'm away > I'll write ~ everyday > And I'll send-pr all my buggings to you. > [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ] > > /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net > \\\ > /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ > \\\ > \\\ an exciting new programming language -- http://www.Zimbu.org > /// > \\\ help me help AIDS victims -- http://ICCF-Holland.org > /// > > -- > -- > You received this message from the "vim_dev" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > > --- > You received this message because you are subscribed to the Google Groups > "vim_dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
isnan-isinf.patch
Description: Binary data
