Changeset - r14982:0b62c3383ae7
[Not reviewed]
master
0 1 0
frosch - 14 years ago 2010-04-11 15:43:54
frosch@openttd.org
(svn r19604) -Codechange: Reintroduce assert_tcompile().
1 file changed with 6 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/stdafx.h
Show inline comments
 
@@ -313,15 +313,20 @@ typedef unsigned char byte;
 
	#define PERSONAL_DIR ""
 
#endif
 

	
 
/* Compile time assertions. Prefer c++0x static_assert() */
 
/* Compile time assertions. Prefer c++0x static_assert().
 
 * Older compilers cannot evaluate some expressions at compile time,
 
 * typically when templates are involved, try assert_tcompile() in those cases. */
 
#if defined(__STDCXX_VERSION__) || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(static_assert)
 
	/* __STDCXX_VERSION__ is c++0x feature macro, __GXX_EXPERIMENTAL_CXX0X__ is used by gcc, __GXX_EXPERIMENTAL_CPP0X__ by icc */
 
	#define assert_compile(expr) static_assert(expr, #expr )
 
	#define assert_tcompile(expr) assert_compile(expr)
 
#elif defined(__OS2__)
 
	/* Disabled for OS/2 */
 
	#define assert_compile(expr)
 
	#define assert_tcompile(expr) assert_compile(expr)
 
#else
 
	#define assert_compile(expr) typedef int __ct_assert__[1 - 2 * !(expr)]
 
	#define assert_tcompile(expr) assert(expr)
 
#endif
 

	
 
/* Check if the types have the bitsizes like we are using them */
0 comments (0 inline, 0 general)