John Marriott wrote;
> On 28-Feb-2016 7:27 AM, Bram Moolenaar wrote:
> > Patch 7.4.1440 (after 7.4.1437)
> > Problem: Can't build on Windows.
> > Solution: Change #ifdefs. Only define isnan when used.
> > Files: src/macros.h, src/eval.c, src/json.c
> >
> >
> >
> I get this build failure on HP-UX after this patch:
>
> cc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -o objects/eval.o eval.c
> cc: "macros.h", line 338: error 1000: Unexpected symbol: "sizeof".
> cc: "macros.h", line 338: error 1000: Unexpected symbol: "==".
> cc: "macros.h", line 338: error 1000: Unexpected symbol: "?".
> cc: "macros.h", line 338: error 1000: Unexpected symbol: ":".
> cc: "macros.h", line 338: error 1505: Function may not return a function or
> an array.
> cc: "macros.h", line 338: error 1573: Type of "_Isnanf" is undefined due to
> an illegal declaration.
> cc: "macros.h", line 338: error 1584: Inconsistent type declaration:
> "_Isnanf".
> cc: "macros.h", line 338: error 1711: Inconsistent parameter list declaration
> for "_Isnanf".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "sizeof".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "==".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "?".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: ":".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "{".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "&&".
> cc: "macros.h", line 341: error 1000: Unexpected symbol: "}".
> cc: "macros.h", line 341: error 1573: Type of "_Isinf" is undefined due to an
> illegal declaration.
> cc: "macros.h", line 341: warning 562: Redeclaration of "_Isinff" with a
> different storage class specifier: "_Isinff" will have internal linkage.
> cc: "macros.h", line 341: error 1711: Inconsistent parameter list declaration
> for "_Isinff".
> cc: "structs.h", line 255: error 1000: Unexpected symbol: "WV_COUNT".
> cc: "structs.h", line 277: error 1000: Unexpected symbol: "winopt_T".
> cc: "structs.h", line 277: error 1573: Type of "wi_opt" is undefined due to
> an illegal declaration.
> cc: "structs.h", line 277: error 1578: Size of struct or union member is
> unknown.
> cc: "structs.h", line 1774: error 1000: Unexpected symbol: "BV_COUNT".
> cc: "globals.h", line 356: error 1000: Unexpected symbol: "HLF_COUNT".
> cc: "eval.c", line 307: error 1000: Unexpected symbol: "VAR_NUMBER".
> cc: "eval.c", line 308: error 1000: Unexpected symbol: "VAR_NUMBER".
[...]
> cc: Panic 2161: Maximum allowed number of errors exceeded.
> *** Error exit code 1
>
> Stop.
> *** Error exit code 1
>
> Stop.
> *** Error exit code 1
>
> Stop.
>
> It has to do with FEAT_FLOAT and isnan() and isinf() being defined as
> macros if _INCLUDE_HPUX_SOURCE is defined in HP-UX's math.h:
> <snip>
> ...
> # define isnan(x) _ISNAN(x)
> # define isinf(x) _ISINF(x)
> ...
> # define _IS64(x) (sizeof(x)==sizeof(double))
> # define _IS32(x) (sizeof(x)==sizeof(float))
> ...
> # define _ISNAN(x)
> (_IS32(x)?_Isnanf(x):_IS64(x)?(isnan)(x):_Isnanf80(x))
> # define _ISINF(x)
> (_IS32(x)?_Isinff(x):_IS64(x)?_Isinf(x):_Isinff80(x))
> ...
> </snip>
>
> Defining HAVE_ISNAN and HAVE_ISINF in src/auto/config.h fixes the
> problem which leads me to think that the configure test for these two
> functions isn't right somehow.
>
> I'm not sure how to fix it though.
Please try again after patch 7.4.1463.
--
The problem with political jokes is that they get elected.
/// 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.