Applying blindly WCHAR_MAX fix for VC7.1

[SVN r33710]
This commit is contained in:
Alexander Nasonov
2006-04-16 16:17:59 +00:00
parent 0c7e439b85
commit 591657959b

View File

@@ -51,18 +51,31 @@ int main()
test_cv< long, long >();
test_cv< unsigned long, unsigned long >();
#if defined(BOOST_NO_CWCHAR) || !defined(WCHAR_MAX) || !defined(WCHAR_MIN)
// Skip wchar_t promotion
#elif WCHAR_MAX <= INT_MAX
// wchar_t
#if !defined(BOOST_NO_CWCHAR) && defined(WCHAR_MAX) && defined(WCHAR_MIN)
// Version prior to VC8 didn't allow WCHAR_MAX in #if expressions
#if defined(BOOST_MSVC) && BOOST_MSVC < 1400
#define BOOST_TT_AUX_WCHAR_MAX 0 // force test_cv< wchar_t, int >
#else
#define BOOST_TT_AUX_WCHAR_MAX WCHAR_MAX
#endif
#if BOOST_TT_AUX_WCHAR_MAX <= INT_MAX
test_cv< wchar_t, int >();
#elif WCHAR_MIN == 0 && WCHAR_MAX <= UINT_MAX
#elif WCHAR_MIN == 0 && BOOST_TT_AUX_WCHAR_MAX <= UINT_MAX
test_cv< wchar_t, unsigned int >();
#elif WCHAR_MAX <= LONG_MAX
#elif BOOST_TT_AUX_WCHAR_MAX <= LONG_MAX
test_cv< wchar_t, long >();
#else
test_cv< wchar_t, unsigned long >();
#endif
#undef BOOST_TT_AUX_WCHAR_MAX
#endif
// floating point promotion