⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acc_chk.ch

📁 给程序加密(upx)
💻 CH
📖 第 1 页 / 共 2 页
字号:
/* ACC -- Automatic Compiler Configuration   Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer   All Rights Reserved.   This software is a copyrighted work licensed under the terms of   the GNU General Public License. Please consult the file "ACC_LICENSE"   for details.   Markus F.X.J. Oberhumer   <markus@oberhumer.com>   http://www.oberhumer.com/ *//*************************************************************************//**************************************************************************/#if !defined(ACCCHK_ASSERT)#  define ACCCHK_ASSERT(expr)   ACC_COMPILE_TIME_ASSERT(expr)#endif/* compile-time sign */#if !defined(ACCCHK_ASSERT_SIGN_T)#  define ACCCHK_ASSERT_SIGN_T(type,relop) \        ACCCHK_ASSERT( (type) (-1)       relop  (type) 0 ) \        ACCCHK_ASSERT( (type) (~(type)0) relop  (type) 0 ) \        ACCCHK_ASSERT( (type) (~(type)0) ==     (type) (-1) )#endif#if !defined(ACCCHK_IS_SIGNED_T)#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)#endif#if !defined(ACCCHK_IS_UNSIGNED_T)#  if (ACC_BROKEN_INTEGRAL_PROMOTION)#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type) \        ACCCHK_ASSERT( (type) (-1) > (type) 0 )#  else#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)#  endif#endif/*************************************************************************// check preprocessor**************************************************************************/#if (ACC_0xffffffffL - ACC_UINT32L_C(4294967294) != 1)#  error "preprocessor error 1"#endif#if (ACC_0xffffffffL - ACC_UINT32L_C(0xfffffffd) != 2)#  error "preprocessor error 2"#endif#define ACCCHK_VAL  1#define ACCCHK_TMP1 ACCCHK_VAL#undef ACCCHK_VAL#define ACCCHK_VAL  2#define ACCCHK_TMP2 ACCCHK_VAL#if (ACCCHK_TMP1 != 2)#  error "preprocessor error 3a"#endif#if (ACCCHK_TMP2 != 2)#  error "preprocessor error 3b"#endif#undef ACCCHK_VAL#if (ACCCHK_TMP2)#  error "preprocessor error 3c"#endif#if (ACCCHK_TMP2 + 0 != 0)#  error "preprocessor error 3d"#endif#undef ACCCHK_TMP1#undef ACCCHK_TMP2/*************************************************************************// check basic arithmetics**************************************************************************/    ACCCHK_ASSERT(__ACC_INT_MAX(2) == 1)    ACCCHK_ASSERT(__ACC_INT_MAX(8) == 127)    ACCCHK_ASSERT(__ACC_INT_MAX(16) == 32767)    ACCCHK_ASSERT(__ACC_UINT_MAX(2) == 3)    ACCCHK_ASSERT(__ACC_UINT_MAX(16) == 0xffffU)    ACCCHK_ASSERT(__ACC_UINT_MAX(32) == 0xffffffffUL)#if !defined(ACC_BROKEN_INTEGRAL_PROMOTION)    ACCCHK_ASSERT(__ACC_UINT_MAX(__ACC_INT_BIT) == ~(0u))    ACCCHK_ASSERT(__ACC_UINT_MAX(__ACC_LONG_BIT) == ~(0ul))#endif/*************************************************************************// check basic types**************************************************************************/    ACCCHK_ASSERT_IS_SIGNED_T(signed char)    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)    ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))    ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))    ACCCHK_ASSERT(sizeof(char) == 1)    ACCCHK_ASSERT(sizeof(char) == sizeof((char)0))#if defined(__cplusplus)    ACCCHK_ASSERT(sizeof('\0') == sizeof(char))#else#  if (ACC_CC_DMC)    /* Digital Mars C is broken */#  else    ACCCHK_ASSERT(sizeof('\0') == sizeof(int))#  endif#endif#if defined(acc_alignof)    ACCCHK_ASSERT(acc_alignof(char) == 1)    ACCCHK_ASSERT(acc_alignof(signed char) == 1)    ACCCHK_ASSERT(acc_alignof(unsigned char) == 1)#endif    ACCCHK_ASSERT_IS_SIGNED_T(short)    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)    ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))    ACCCHK_ASSERT(sizeof(short) >= 2)    ACCCHK_ASSERT(sizeof(short) >= sizeof(char))    ACCCHK_ASSERT(sizeof(short) == sizeof((short)0))#if (SIZEOF_SHORT > 0)    ACCCHK_ASSERT(sizeof(short) == SIZEOF_SHORT)#endif    ACCCHK_ASSERT_IS_SIGNED_T(int)    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned int)    ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned int))    ACCCHK_ASSERT(sizeof(int) >= 2)    ACCCHK_ASSERT(sizeof(int) >= sizeof(short))    ACCCHK_ASSERT(sizeof(int) == sizeof(0))    ACCCHK_ASSERT(sizeof(int) == sizeof((int)0))#if (SIZEOF_INT > 0)    ACCCHK_ASSERT(sizeof(int) == SIZEOF_INT)#endif    ACCCHK_ASSERT_IS_SIGNED_T(long)    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)    ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))    ACCCHK_ASSERT(sizeof(long) >= 4)    ACCCHK_ASSERT(sizeof(long) >= sizeof(int))    ACCCHK_ASSERT(sizeof(long) == sizeof(0L))    ACCCHK_ASSERT(sizeof(long) == sizeof((long)0))#if (SIZEOF_LONG > 0)    ACCCHK_ASSERT(sizeof(long) == SIZEOF_LONG)#endif    ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)    ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))    ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0))) /* sizeof() returns size_t */#if (SIZEOF_SIZE_T > 0)    ACCCHK_ASSERT(sizeof(size_t) == SIZEOF_SIZE_T)#endif    ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))#if !defined(ACC_BROKEN_SIZEOF)    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof((char*)0 - (char*)0))# if (ACC_HAVE_MM_HUGE_PTR)    ACCCHK_ASSERT(4 == sizeof((char __huge*)0 - (char __huge*)0))# endif#endif#if (SIZEOF_PTRDIFF_T > 0)    ACCCHK_ASSERT(sizeof(ptrdiff_t) == SIZEOF_PTRDIFF_T)#endif    ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))#if (SIZEOF_VOID_P > 0)    ACCCHK_ASSERT(sizeof(void*) == SIZEOF_VOID_P)#endif#if (SIZEOF_CHAR_P > 0)    ACCCHK_ASSERT(sizeof(char*) == SIZEOF_CHAR_P)#endif#if (ACC_HAVE_MM_HUGE_PTR)    ACCCHK_ASSERT(4 == sizeof(void __huge*))    ACCCHK_ASSERT(4 == sizeof(char __huge*))#endif/*************************************************************************// check arithmetics**************************************************************************/    ACCCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)    ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)#if (ACC_CC_TURBOC && (__TURBOC__ < 0x0150))    /* TC 1.0 bug, probably due to ACC_BROKEN_INTEGRAL_PROMOTION ?? */#else    ACCCHK_ASSERT((1   << (8*SIZEOF_INT-1)) < 0)#endif    ACCCHK_ASSERT((1u  << (8*SIZEOF_INT-1)) > 0)    ACCCHK_ASSERT((1l  << (8*SIZEOF_LONG-1)) < 0)    ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)#if defined(acc_int32e_t)    ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)    ACCCHK_ASSERT(sizeof(acc_int32e_t) == SIZEOF_ACC_INT32E_T)    ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)    ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)    ACCCHK_ASSERT(((( (acc_int32e_t)1 << 30) + 1) >> 30) == 1)    ACCCHK_ASSERT(((( ACC_INT32E_C(1) << 30) + 1) >> 30) == 1)    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)    ACCCHK_ASSERT(((( (acc_uint32e_t)1 << 31) + 1) >> 31) == 1)    ACCCHK_ASSERT(((( ACC_UINT32E_C(1) << 31) + 1) >> 31) == 1)    ACCCHK_ASSERT( (acc_int32e_t) (1 + ~(acc_int32e_t)0) == 0)#if defined(ACCCHK_CONFIG_PEDANTIC)    /* compiler may warn about overflow */    ACCCHK_ASSERT( (acc_uint32e_t)(1 + ~(acc_uint32e_t)0) == 0)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -