On Sun, 25 Jul 2004 17:16:38 -0500, Aaron W. LaFramboise wrote
Hi,
As I'm sure you know, long long and unsigned long long are supported by GCC in C++. However, -std=c++98 (not quite sure why, to be honest) and -pedantic cause lots of warnings and errors to be generated in the Boost headers when long long is used. In my project, it is desirable to use these flags for other reasons, but the effect these flags have on the Boost headers is decidedly undesirable.
So far, I've been wrapping the Boost headers in forwarding headers that mark the Boost headers as system headers so that they compile without warning or error. Is there any disadvantage to doing this?
GCC supports long long even with the above options, but only if __extension__ is used. I notice that there a Boost-standard 64bit type, boost::int64_t. Is there some reason that this can't be typedef'ed using the GCC extension, and then this identifier used in all places where 'long long' is being used? Are there type system rules that prevent this, or some other reason?
Is there some particular boost header that is using long long directly? date_time uses 64 bit types, but it uses boost::int64_t and its friends to be portable. Or are you saying that just using boost:int64_t is causing the problem? Jeff