[torquedev] Re: trunk not compiiing on OS X 10.4

Glen Beane glen.beane at gmail.com
Wed Aug 29 09:09:46 MDT 2007


On 8/29/07, Garrick Staples <garrick at usc.edu> wrote:
> On Wed, Aug 29, 2007 at 10:23:44AM -0400, Glen Beane alleged:
> > On 8/29/07, Glen Beane <glen.beane at gmail.com> wrote:
> > > the use of HUGE_VAL causes a warning "floating constant exceeds range
> > > of 'double'"
> > >
> > > thse files have not changed in quite some time.  any ideas?  I haven't
> > > tried to compile torque on OS X for a while since I've been working
> > > primarilly in Linux.
> > >
> > >
> > > gcc version 4.0.1 (Apple Computer, Inc. build 5341)
> > >
> > >
> > >
> > >
> > > ../Libdis/disp10d_.c: In function 'disp10d_':
> > > ../Libdis/disp10d_.c:107: warning: floating constant exceeds range of 'double'
> > > ../Libdis/disp10d_.c:115: warning: floating constant exceeds range of 'double'
> > > make[3]: *** [disp10d_.lo] Error 1
> > > make[3]: *** Waiting for unfinished jobs....
> > > cc1: warnings being treated as errors
> > > ../Libdis/disp10l_.c: In function 'disp10l_':
> > > ../Libdis/disp10l_.c:135: warning: floating constant exceeds range of 'double'
> > > ../Libdis/disp10l_.c:158: warning: floating constant exceeds range of 'double'
> > > make[3]: *** [disp10l_.lo] Error 1
> > > make[2]: *** [all-recursive] Error 1
> > > make[1]: *** [all-recursive] Error 1
> > > make: *** [all-recursive] Error 1
> > >
> >
> >
> > I can reproduce this with a very tiny C progra:
> >
> >
> > mightymac:/tmp gbeane$ cat test.c
> > #include <math.h>
> >
> > int main (int argc, char **argv)
> > {
> >    double x = HUGE_VAL;
> >
> >    return 0;
> > }
> > mightymac:/tmp gbeane$ gcc -pedantic  test.c
> > test.c: In function 'main':
> > test.c:5: warning: floating constant exceeds range of 'double'
> > mightymac:/tmp gbeane$ gcc test.c
> > mightymac:/tmp gbeane$
> >
> >
> >
> > It seems to me like a bug in the version of gcc on my Mac.  I think a
> > near term solution is to not compile anything with HUGE_VAL with
> > -pedantic
>
> It would seem to me that if HUGE_VAL doesn't fit in a double, then the compiler
> or header files are definitely broken.
>
> What does 'gcc -E' give you for that file?  I get:
>
>   int main (int argc, char **argv)
>   {
>      double x = (__builtin_huge_val());
>
>      return 0;
>   }

I get

int main (int argc, char **argv)
{
   double x = 1e500;

   return 0;
}


I also discovered that bindresvport is not declared in netinet/in.h on
my Mac so Libnet does not compile:

./Libnet/net_client.c:259: warning: implicit declaration of function
'bindresvport'


even though the man page says it is declared in netinet/in.h

mightymac:/tmp/trunk gbeane$ grep bindresvport /usr/include/netinet/*
mightymac:/tmp/trunk gbeane$


my linux box:

gbeane at wulfgar:~> grep bindresvport /usr/include/netinet/*
/usr/include/netinet/in.h:extern int bindresvport (int __sockfd,
struct sockaddr_in *__sock_in) __THROW;
/usr/include/netinet/in.h:extern int bindresvport6 (int __sockfd,
struct sockaddr_in6 *__sock_in)


More information about the torquedev mailing list