Boost logo

Boost Users :

From: Sascha Lumma (s.lumma_at_[hidden])
Date: 2006-07-12 14:12:19


Hi all,

I try to port my application to windows and use mingw 3.4.2 (32 bit
machine). I get the following error at compilation time and I'm not
sure, is that a misconfiguration or bug?

./boost/shmem/sync/xtime.hpp: In function `int
boost::shmem::xtime_get(boost::shmem::xtime*, int)':
./boost/shmem/sync/xtime.hpp:89: error: integer constant is too large
for "long" type

The variable which should take this big decimal number
(116444736000000000 -> exactly 32 bit) in line 89 is from type uint64_t
and should have 64 bit unsigned. But that isn't so, it's just only
long=int type (31 bit). If I look to the definition from uint64_t
(boost/cstdint.hpp), there are much possibilities. With the GNU compiler
it should be used the unsigned long long type as uint64_t and that are
64 bits. In worst case it should be used a 32 bit unsigned long type.
Why I've only a long type?

Thank you very much for reply, Sascha


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