Boost logo

Boost Users :

Subject: Re: [Boost-users] cstdint.hpp on MSVC inconsitency ?
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-09-05 12:30:47


> In cstdint.hpp, the logic is that , if sizeof(long) == 4 then int32_t =
> long elseif sizeof(int) == 4 then int32_t = int.
> However, boost::detail::int_least_helper assumes sizeof(long) >
> sizeof(int).
>
> The consequence is that int_t<32>::fast is not the same as int32_t on MSVC
> while MSVC always garantee that int == long.
>
> Is there any rationale we missed or should I try to fix that as it
> currently prevent nT2 from compiling on MSVC .

I've switched the logic around in Trunk, as it certainly makes sense to do
so. However note that in the strictest sense the int#_t typedef's are
"unmentionable" types and no assumptions should really be made as to what
the underlying type really is.

Cheers, John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net