Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 2000-09-10 06:21:53


I've been hit bt the lack of 64-bit integer support for the
Borland/Microsoft compilers in cstdint.hpp/stdint.hpp, I've attatched a
version of these headers which includes this support, as an artifact of the
implementation the macro BOOST_NO_INT64_T gets defined if there are no
recognised 64-bit inegral types (this also fixes a buglet that
boost::int64_t did not get defined if long is a 64-bit type - even though
it was defined in global namespace).

However this isn't quite the end of the story, because you can't use LL as
a suffix to integral constants, but have to use i64 and ui64 instead. The
C99 way around this is to use the INT64_C and UINT64_C macros to append the
correct suffix, it appears that the intent of C99 is to define these only
if _ _STDC_CONSTANT_MACROS is defined when compiling in C++ mode - should
we add these to stdint.h (suitably protected by #ifndef
__STDC_CONSTANT_MACROS)?

BTW I don't see an author for these headers listed - I'm not sure to whom I
should be addressing this?

- John.





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk