[Top][All Lists]
[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