add NODEFAULT macro for optimizing switch()

This commit is contained in:
cxgeorge 2002-02-22 22:55:02 +00:00
parent 0f68b4c9c0
commit 5cb7394301

View File

@ -48,14 +48,27 @@
/* C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data */
#pragma warning (disable : 4244)
/*
#if _MSC_VER < 1300
#pragma message("VC 6.0")
#if _MSC_VER >= 1300
#define USING_MSVC7
//#pragma message("VC 7.0")
#else
#pragma message("VC 7.0")
// #pragma message("VC 6.0")
#endif
*/
// Use NODEFAULT to optimize a switch() stmt to tell MSVC to automatically go to the final untested case
// after it has failed all the other cases (i.e. 'assume at least one of the cases is always true')
#ifdef _DEBUG
# define NODEFAULT default: assert(0);
#else
# define NODEFAULT default: __assume(0); // special VC keyword
#endif
#else /* if !WIN32_VC */
#ifdef _DEBUG
# define NODEFAULT default: assert(0);
#else
# define NODEFAULT
#endif
#endif /* WIN32_VC */
#if defined(USE_UNKNOWN_ALLOCATOR) && !defined(UNKNOWN_ALLOCATOR)