The problem seems to be that BOOST_HAS_LONG_LONG has two different checks to see if should be defined:
1 @ E:\users\savoiu\Projects\boost\boost\config\suffix.hpp(26):#include
# if !defined(BOOST_HAS_LONG_LONG) \ && !(defined(BOOST_MSVC) && BOOST_MSVC <=1300) && !defined(__BORLANDC__) \ && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) # define BOOST_HAS_LONG_LONG #endif Adding a '(...) || !defined(_MSC_EXTENSIONS)' to the MSVC test in (1) fixes the problem. But it seems to me that BOOST_HAS_LONG_LONG should only be defined in one place to reduce the possibility of things being out of sync.
Can you let me have a test case please: (1) does *not* result in BOOST_HAS_LONG_LONG getting defined - well not for me anyway with vc7.1 and the /Za option. Thanks, John.