cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: curl_off_t suffix

From: Yang Tse <yangsita_at_gmail.com>
Date: Thu, 14 Aug 2008 14:48:18 +0200

2008/8/14, Jamie Lokier wrote

> > Which actual signed suffixes exist out there ? 'L' 'LL' 'i128' 'i64'
> > 'i32' 'i16' 'i8'
>
> Instead of trying to parse the definitions, how about simply _trying_
> suffixes to get one which works - like other Autoconf macros usually do?

As a matter of fact we were doing something better than parsing the
definition. I was, the macro, actually running the preprocessor and
parsing the output. So that we would use what the preprocessor
actually understood and had already used.

But with such bizarre INT64_C() definitions there is little point in
doing it, now I'm aware of this.

The origin of all this goes back to how 'open' and permissive and
portable our configure script tries to be.

When 'driving' a true msvc compiler it must use the i64 suffix, when
driving a msvc-like compiler (mingw and others) it should use L or LL
depending on the name of the data type not on its size but some of
this also handle the i64 suffix.

And even if that wasn't enough fun 'icc' seems to take whatever you
throw at it, it even understands the __int64 data type on linux.

BTW TurboC 2.01 (back from 1989) understands the 'L' suffix with no problem.

Yes it seems that the test-and-try suffix approach should generate
less problems.

I'll do something in that direction later today.

-- 
-=[Yang]=-
Received on 2008-08-14