RE: Guppi-0.40.3: conflicting types for `_SINFINITY'
"Gansser, Martin" <[email protected]> Tue, 9 Apr 2002 08:15:30 +0200
| Newsgroups | gmane.comp.gnome.apps.guppi |
|---|---|
| Message-ID | <78224A6821F87A4D8023B133E5B1140B1EADFD@srvmxellwangen2.ratc-de.com> |
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C1DF8D.F305F040 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I have a problem with Guppi-0.40.3 on hp-ux 11.00 could you please take the following patches from Jon K Hellan to fix = this. for furhter questions Regards Martin > -----Original Message----- > From: Jon K Hellan [mailto:[email protected]] > Sent: Monday, April 08, 2002 8:56 PM > To: Gansser, Martin > Subject: Re: Guppi-0.40.3: conflicting types for `_SINFINITY' >=20 >=20 > On Mon, Apr 08, 2002 at 11:50:37AM +0200, Gansser, Martin wrote: > > another question with hp-ux 11.00. > >=20 > >=20 > > the following error appears, if I compile Guppi on hp-ux 11.00: >=20 > You should write to the guppi maintainer, Jon Trowbridge, about this, > so that the changes get merged into the distribution. But here are > some suggestions which you can forward: > =20 > > gnan.c: In function `g_finite': > > gnan.c:128: warning: implicit declaration of function `finite' >=20 > Here's g_finite: >=20 > gboolean > g_finite (double x) > { > /* FIXME: This needs to be made portable. */ > return finite (x); > } >=20 > They could probably use the following snippet from gnumeric's > src/mathfunc.h:=20 >=20 > #ifndef FINITE > # if defined(HAVE_FINITE) > # ifdef HAVE_IEEEFP_H > # include <ieeefp.h> > # endif > # define FINITE finite > # elif defined(HAVE_ISFINITE) > # define FINITE isfinite > # else > # error FINITE undefined > # endif > #endif >=20 > For this to work, the following has to be added to configure.in: >=20 > dnl > dnl On Solaris finite() needs ieeefp.h > dnl > AC_CHECK_HEADERS(ieeefp.h) >=20 > dnl Check for some functions > AC_CHECK_FUNCS(finite) >=20 > dnl > dnl On BSD, we seem to need -lm for finite > dnl > if test $ac_cv_func_finite =3D no; then > AC_CHECK_LIB(m, finite, > [AC_DEFINE(HAVE_FINITE) > LIBS=3D"$LIBS -lm"]) > fi >=20 > dnl isfinite is a macro on HPUX > AC_TRY_COMPILE([#include <math.h>], [int a =3D isfinite(0.0)],=20 > [AC_DEFINE(HAVE_ISFINITE)], []) >=20 > And to acconfig.h: >=20 > #undef HAVE_FINITE > #undef HAVE_ISFINITE > #undef HAVE_IEEEFP_H >=20 > g_finite might then be changed to: >=20 > gboolean > g_finite (double x) > { > return FINITE (x); > } >=20 > > guppi-config-model.c:40: warning: excess elements in array=20 > initializer > > guppi-config-model.c:40: warning: (near initialization for > > `guppi_config_model_signals') > > guppi-defaults.c: In function `cant_find_default_font': > > guppi-defaults.c:40: warning: implicit declaration of=20 > function `exit' >=20 > Harmless. >=20 > > guppi-string.c: In function `guppi_string_noise_count': > > guppi-string.c:170: warning: subscript has type `char' >=20 > This could be unportable code. But probably no big deal. >=20 > > const.c:99: conflicting types for `_SINFINITY' > > = /opt/gcc/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.4/include/math.h:344: > > previous declaration of `_SINFINITY' >=20 > Try this patch to const.c: >=20 > --- const.c.~1.3.~ Sat May 5 20:16:23 2001 > +++ const.c Mon Apr 8 20:52:32 2002 > @@ -93,10 +93,12 @@ > double LOGSQ2 =3D 3.46573590279972654709E-1; /* log(2)/2 */ > double THPIO4 =3D 2.35619449019234492885; /* 3*pi/4 */ > double TWOOPI =3D 6.36619772367581343075535E-1; /* 2/pi */ > -#ifdef INFINITIES > +#ifndef INFINITY > +# ifdef INFINITIES > double INFINITY =3D 1.0 / 0.0; /* 99e999; */ > -#else > +# else > double INFINITY =3D 1.79769313486231570815E308; /*=20 > 2**1024*(1-MACHEP) */ > +# endif > #endif > =20 > #ifdef MINUSZERO >=20 > Good luck >=20 > Jon K=E5re >=20 ------_=_NextPart_001_01C1DF8D.F305F040 Content-Type: text/html; charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12"> <TITLE>RE: Guppi-0.40.3: conflicting types for `_SINFINITY'</TITLE> </HEAD> <BODY> <P><FONT SIZE=2>Hi,</FONT> </P> <P><FONT SIZE=2>I have a problem with Guppi-0.40.3 on hp-ux 11.00</FONT> <BR><FONT SIZE=2>could you please take the following patches from Jon K Hellan to fix this.</FONT> </P> <P><FONT SIZE=2>for furhter questions</FONT> </P> <P><FONT SIZE=2>Regards Martin</FONT> </P> <P><FONT SIZE=2>> -----Original Message-----</FONT> <BR><FONT SIZE=2>> From: Jon K Hellan [<A HREF="mailto:[email protected]">mailto:[email protected]</A>]</FONT> <BR><FONT SIZE=2>> Sent: Monday, April 08, 2002 8:56 PM</FONT> <BR><FONT SIZE=2>> To: Gansser, Martin</FONT> <BR><FONT SIZE=2>> Subject: Re: Guppi-0.40.3: conflicting types for `_SINFINITY'</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> On Mon, Apr 08, 2002 at 11:50:37AM +0200, Gansser, Martin wrote:</FONT> <BR><FONT SIZE=2>> > another question with hp-ux 11.00.</FONT> <BR><FONT SIZE=2>> > </FONT> <BR><FONT SIZE=2>> > </FONT> <BR><FONT SIZE=2>> > the following error appears, if I compile Guppi on hp-ux 11.00:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> You should write to the guppi maintainer, Jon Trowbridge, about this,</FONT> <BR><FONT SIZE=2>> so that the changes get merged into the distribution. But here are</FONT> <BR><FONT SIZE=2>> some suggestions which you can forward:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> > gnan.c: In function `g_finite':</FONT> <BR><FONT SIZE=2>> > gnan.c:128: warning: implicit declaration of function `finite'</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> Here's g_finite:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> gboolean</FONT> <BR><FONT SIZE=2>> g_finite (double x)</FONT> <BR><FONT SIZE=2>> {</FONT> <BR><FONT SIZE=2>> /* FIXME: This needs to be made portable. */</FONT> <BR><FONT SIZE=2>> return finite (x);</FONT> <BR><FONT SIZE=2>> }</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> They could probably use the following snippet from gnumeric's</FONT> <BR><FONT SIZE=2>> src/mathfunc.h: </FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> #ifndef FINITE</FONT> <BR><FONT SIZE=2>> # if defined(HAVE_FINITE)</FONT> <BR><FONT SIZE=2>> # ifdef HAVE_IEEEFP_H</FONT> <BR><FONT SIZE=2>> # include <ieeefp.h></FONT> <BR><FONT SIZE=2>> # endif</FONT> <BR><FONT SIZE=2>> # define FINITE finite</FONT> <BR><FONT SIZE=2>> # elif defined(HAVE_ISFINITE)</FONT> <BR><FONT SIZE=2>> # define FINITE isfinite</FONT> <BR><FONT SIZE=2>> # else</FONT> <BR><FONT SIZE=2>> # error FINITE undefined</FONT> <BR><FONT SIZE=2>> # endif</FONT> <BR><FONT SIZE=2>> #endif</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> For this to work, the following has to be added to configure.in:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> dnl</FONT> <BR><FONT SIZE=2>> dnl On Solaris finite() needs ieeefp.h</FONT> <BR><FONT SIZE=2>> dnl</FONT> <BR><FONT SIZE=2>> AC_CHECK_HEADERS(ieeefp.h)</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> dnl Check for some functions</FONT> <BR><FONT SIZE=2>> AC_CHECK_FUNCS(finite)</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> dnl</FONT> <BR><FONT SIZE=2>> dnl On BSD, we seem to need -lm for finite</FONT> <BR><FONT SIZE=2>> dnl</FONT> <BR><FONT SIZE=2>> if test $ac_cv_func_finite = no; then</FONT> <BR><FONT SIZE=2>> AC_CHECK_LIB(m, finite,</FONT> <BR><FONT SIZE=2>> [AC_DEFINE(HAVE_FINITE)</FONT> <BR><FONT SIZE=2>> LIBS="$LIBS -lm"])</FONT> <BR><FONT SIZE=2>> fi</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> dnl isfinite is a macro on HPUX</FONT> <BR><FONT SIZE=2>> AC_TRY_COMPILE([#include <math.h>], [int a = isfinite(0.0)], </FONT> <BR><FONT SIZE=2>> [AC_DEFINE(HAVE_ISFINITE)], [])</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> And to acconfig.h:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> #undef HAVE_FINITE</FONT> <BR><FONT SIZE=2>> #undef HAVE_ISFINITE</FONT> <BR><FONT SIZE=2>> #undef HAVE_IEEEFP_H</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> g_finite might then be changed to:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> gboolean</FONT> <BR><FONT SIZE=2>> g_finite (double x)</FONT> <BR><FONT SIZE=2>> {</FONT> <BR><FONT SIZE=2>> return FINITE (x);</FONT> <BR><FONT SIZE=2>> }</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> > guppi-config-model.c:40: warning: excess elements in array </FONT> <BR><FONT SIZE=2>> initializer</FONT> <BR><FONT SIZE=2>> > guppi-config-model.c:40: warning: (near initialization for</FONT> <BR><FONT SIZE=2>> > `guppi_config_model_signals')</FONT> <BR><FONT SIZE=2>> > guppi-defaults.c: In function `cant_find_default_font':</FONT> <BR><FONT SIZE=2>> > guppi-defaults.c:40: warning: implicit declaration of </FONT> <BR><FONT SIZE=2>> function `exit'</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> Harmless.</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> > guppi-string.c: In function `guppi_string_noise_count':</FONT> <BR><FONT SIZE=2>> > guppi-string.c:170: warning: subscript has type `char'</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> This could be unportable code. But probably no big deal.</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> > const.c:99: conflicting types for `_SINFINITY'</FONT> <BR><FONT SIZE=2>> > /opt/gcc/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.0.4/include/math.h:344:</FONT> <BR><FONT SIZE=2>> > previous declaration of `_SINFINITY'</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> Try this patch to const.c:</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> --- const.c.~1.3.~ Sat May 5 20:16:23 2001</FONT> <BR><FONT SIZE=2>> +++ const.c Mon Apr 8 20:52:32 2002</FONT> <BR><FONT SIZE=2>> @@ -93,10 +93,12 @@</FONT> <BR><FONT SIZE=2>> double LOGSQ2 = 3.46573590279972654709E-1; /* log(2)/2 */</FONT> <BR><FONT SIZE=2>> double THPIO4 = 2.35619449019234492885; /* 3*pi/4 */</FONT> <BR><FONT SIZE=2>> double TWOOPI = 6.36619772367581343075535E-1; /* 2/pi */</FONT> <BR><FONT SIZE=2>> -#ifdef INFINITIES</FONT> <BR><FONT SIZE=2>> +#ifndef INFINITY</FONT> <BR><FONT SIZE=2>> +# ifdef INFINITIES</FONT> <BR><FONT SIZE=2>> double INFINITY = 1.0 / 0.0; /* 99e999; */</FONT> <BR><FONT SIZE=2>> -#else</FONT> <BR><FONT SIZE=2>> +# else</FONT> <BR><FONT SIZE=2>> double INFINITY = 1.79769313486231570815E308; /* </FONT> <BR><FONT SIZE=2>> 2**1024*(1-MACHEP) */</FONT> <BR><FONT SIZE=2>> +# endif</FONT> <BR><FONT SIZE=2>> #endif</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> #ifdef MINUSZERO</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> Good luck</FONT> <BR><FONT SIZE=2>> </FONT> <BR><FONT SIZE=2>> Jon Kåre</FONT> <BR><FONT SIZE=2>> </FONT> </P> </BODY> </HTML> ------_=_NextPart_001_01C1DF8D.F305F040--