bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_SYS_LARGEFILE bug in autoconf cvs 20001215


From: Pavel Roskin
Subject: Re: AC_SYS_LARGEFILE bug in autoconf cvs 20001215
Date: Wed, 20 Dec 2000 03:16:22 -0500 (EST)

Hello, Paul!

> > > but generate almost the same warnings on both OS:
> > > line 2: warning 602: Integer constant exceeds its storage.
> > > line 2: warning 602: Integer constant exceeds its storage.

Read this message carefully. Some vendor C compilers are stripped down C++
compilers, so they are as strict as C++ about those constants.

> > I know about this problem. AC_SYS_LARGEFILE should be radically reworked.
>
> But we just reworked it!  (:-)

Nope :-(

> What sort of reworking did you have in mind?

At least making it work correctly with C++ and strict C compilers.

> > We have better means to calculate sizeof(off_t) (I mean AC_CHECK_SIZEOF),
> > so I'll just have to find out why it was not used here originally.
>
> I didn't want to assume that CHAR_BIT == 8.  No sense making an
> assumption that isn't needed.  Furthermore, you don't want to check
> that off_t is _exactly_ 64 bits, only that it's _at least_ 64 bits.

I did not even mention the numbers 8 and 64.
Why do you think so bad about me? :-)

> -    int a[(off_t) 9223372036854775807 == 9223372036854775807 ? 1 : -1];
> +    int arithmetic_OK[9223372036854775807 % 2147483629 == 721 ? 1 : -1];
> +    int range_OK[(off_t) 9223372036854775807 == 9223372036854775807 ? 1 : 
> -1];
> +    int size_OK[sizeof 9223372036854775807 <= sizeof (off_t) ? 1 : -1];

Read the error message again. "Integer constant exceeds its storage."
At least one of the constants is the same in your patch.

Regards,
Pavel Roskin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]