|
Boost Users : |
From: Daryle Walker (darylew_at_[hidden])
Date: 2004-07-27 05:26:14
On 7/26/04 3:14 PM, "Aaron W. LaFramboise" <aaronrabiddog51_at_[hidden]>
wrote:
> John Maddock wrote:
>> Sorry but I pretty certain we can't do that: code that uses long long does
>> so where we want to overload or specialise on a specific *type*.
>> boost::int64_t is a different beast entirely, and need not be long long (in
>> fact it isn't always), your patches would break Boost quite badly for
>> compilers where long long != int64_t.
>
> OK. So how can these instances of long long usage be made to not break
> GCC when -std=c++98 is specified? Perhaps a macro could be defined by
> boost.config BOOST_LONG_LONG_DECORATOR with a value of __extension__ for
> GCC that would be used to decorate these uses of long long to prevent
> problems?
We already have macros to tell us when "(unsigned) long long" exist.
Guessing the meaning of "-std=c++98", those macros shouldn't be active with
that setting. If they are active, then we need to tweak some config files.
We also need to make sure the macros are being used. If someone is using a
naked "long long" without an #if-block, then we need to fix that bug. Note
that even after "long long" is disabled, there need not be any 64-bit type
at all on the system (so "int64_t" may not work either).
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
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