Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2005-07-18 06:23:59


The first few lines of suffix.hpp currently look like this:

#include <limits.h>
# if !defined(BOOST_HAS_LONG_LONG)
      \
    && !defined(BOOST_MSVC) && !defined(__BORLANDC__) \
    && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) ||
defined(ULONGLONG_MAX))
# define BOOST_HAS_LONG_LONG
#endif

What is the reason for this code being there? Isn't it enough to test for
this in the platform/compiler/stdlib config?

I'm asking this question because currently stdlib/libstdcpp3.hpp
explicitely turns off BOOST_HAS_LONG_LONG when the library indicates that
there is no support for long long, and this is foiled by the code in
suffix.hpp, which turns on BOOST_HAS_LONG_LONG again. (And this causes
errors with gcc-3.3.x on Tru64.)

Maybe we need two config macros for this? One for
BOOST_COMPILER_HAS_LONG_LONG, and one for BOOST_STDLIB_HAS_LONG_LONG?

Comments or thoughts, anyone?

Markus


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