$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [polygon] compiled in MSVC8 successfully, but boost::long_long_type gives runtime errors.
From: Simonson, Lucanus J (lucanus.j.simonson_at_[hidden])
Date: 2009-07-07 18:41:30
Steven Watanabe wrote:
>> In MSVC8 BOOST_HAS_LONG_LONG is defined and I'm using the
>> boost::long_long_type the way it was suggested that I should.
>>
>
> I don't think this is related to the use of long long since the
> following program works okay.
>
> #include <iostream>
>
> int main() {
> long long x = 1.0;
> double d = x;
> std::cout << x << std::endl;
> }
>
It turns out that I was using boost::long_long_type, and when I changed that typedef to long long the problem goes away.
I remember you mentioned this to me a while back:
> You might also consider using boost::int64_t from
> boost/cstdint.hpp guarded by BOOST_NO_INT64_T
>
> msvc has 64 bit ints, but doesn't call them long long.
I checked sizeof(long long) in my MSVC8 environment and it was 8 bytes, so I think I'm happy to use it.
Do you know what data type boost::long_long_type was using?
I ought to be able to check in a version of the code sometime tomorrow that works in MSVC8,9, gcc 3.2.2 and later, and icc9 and later.
Thanks,
Luke