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.

Attachment: isnan-isinf.patch
Description: Binary data

Raspunde prin e-mail lui