Improved the CHECK_DEF macro to avoid code duplication.

This commit is contained in:
Alexandre Julliard 2005-12-01 12:55:53 +01:00
parent cc9052c38e
commit 7dd571693a

View file

@ -71,7 +71,7 @@
#define CHECK_TYPE(t) { TYPEOF(t) a = 0; TYPEOF(MSVCRT(t)) b = 0; a = b; CHECK_SIZE(t); }
#define CHECK_STRUCT(s) ok(sizeof(struct s) == sizeof(struct MSVCRT(s)), "Struct has different sizes\n")
#define CHECK_FIELD(s,e) ok(OFFSET(s,e) == OFFSET(MSVCRT(s),e), "Bad offset\n")
#define CHECK_DEF(n,d1,d2) ok(d1 == d2, "Defines (MSVCRT_)%s are different: '%d' vs. '%d'\n", n, d1, d2)
#define CHECK_DEF(d) ok(d == MSVCRT_##d, "Defines (MSVCRT_)" #d " are different: %d vs. %d\n", d, MSVCRT_##d)
/************* Checking types ***************/
static void test_types(void)
@ -300,169 +300,169 @@ static void test_structs(void)
/************* Checking defines ***************/
static void test_defines(void)
{
CHECK_DEF("WEOF", WEOF, MSVCRT_WEOF);
CHECK_DEF("EOF", EOF, MSVCRT_EOF);
CHECK_DEF("TMP_MAX", TMP_MAX, MSVCRT_TMP_MAX);
CHECK_DEF("BUFSIZ", BUFSIZ, MSVCRT_BUFSIZ);
CHECK_DEF("STDIN_FILENO", STDIN_FILENO, MSVCRT_STDIN_FILENO);
CHECK_DEF("STDOUT_FILENO", STDOUT_FILENO, MSVCRT_STDOUT_FILENO);
CHECK_DEF("STDERR_FILENO", STDERR_FILENO, MSVCRT_STDERR_FILENO);
CHECK_DEF("_IOFBF", _IOFBF, MSVCRT__IOFBF);
CHECK_DEF("_IONBF", _IONBF, MSVCRT__IONBF);
CHECK_DEF("_IOLBF", _IOLBF, MSVCRT__IOLBF);
CHECK_DEF("FILENAME_MAX", FILENAME_MAX, MSVCRT_FILENAME_MAX);
CHECK_DEF("_P_WAIT", _P_WAIT, MSVCRT__P_WAIT);
CHECK_DEF("_P_NOWAIT", _P_NOWAIT, MSVCRT__P_NOWAIT);
CHECK_DEF("_P_OVERLAY", _P_OVERLAY, MSVCRT__P_OVERLAY);
CHECK_DEF("_P_NOWAITO", _P_NOWAITO, MSVCRT__P_NOWAITO);
CHECK_DEF("_P_DETACH", _P_DETACH, MSVCRT__P_DETACH);
CHECK_DEF("EPERM", EPERM, MSVCRT_EPERM);
CHECK_DEF("ENOENT", ENOENT, MSVCRT_ENOENT);
CHECK_DEF("ESRCH", ESRCH, MSVCRT_ESRCH);
CHECK_DEF("EINTR", EINTR, MSVCRT_EINTR);
CHECK_DEF("EIO", EIO, MSVCRT_EIO);
CHECK_DEF("ENXIO", ENXIO, MSVCRT_ENXIO);
CHECK_DEF("E2BIG", E2BIG, MSVCRT_E2BIG);
CHECK_DEF("ENOEXEC", ENOEXEC, MSVCRT_ENOEXEC);
CHECK_DEF("EBADF", EBADF, MSVCRT_EBADF);
CHECK_DEF("ECHILD", ECHILD, MSVCRT_ECHILD);
CHECK_DEF("EAGAIN", EAGAIN, MSVCRT_EAGAIN);
CHECK_DEF("ENOMEM", ENOMEM, MSVCRT_ENOMEM);
CHECK_DEF("EACCES", EACCES, MSVCRT_EACCES);
CHECK_DEF("EFAULT", EFAULT, MSVCRT_EFAULT);
CHECK_DEF("EBUSY", EBUSY, MSVCRT_EBUSY);
CHECK_DEF("EEXIST", EEXIST, MSVCRT_EEXIST);
CHECK_DEF("EXDEV", EXDEV, MSVCRT_EXDEV);
CHECK_DEF("ENODEV", ENODEV, MSVCRT_ENODEV);
CHECK_DEF("ENOTDIR", ENOTDIR, MSVCRT_ENOTDIR);
CHECK_DEF("EISDIR", EISDIR, MSVCRT_EISDIR);
CHECK_DEF("EINVAL", EINVAL, MSVCRT_EINVAL);
CHECK_DEF("ENFILE", ENFILE, MSVCRT_ENFILE);
CHECK_DEF("EMFILE", EMFILE, MSVCRT_EMFILE);
CHECK_DEF("ENOTTY", ENOTTY, MSVCRT_ENOTTY);
CHECK_DEF("EFBIG", EFBIG, MSVCRT_EFBIG);
CHECK_DEF("ENOSPC", ENOSPC, MSVCRT_ENOSPC);
CHECK_DEF("ESPIPE", ESPIPE, MSVCRT_ESPIPE);
CHECK_DEF("EROFS", EROFS, MSVCRT_EROFS);
CHECK_DEF("EMLINK", EMLINK, MSVCRT_EMLINK);
CHECK_DEF("EPIPE", EPIPE, MSVCRT_EPIPE);
CHECK_DEF("EDOM", EDOM, MSVCRT_EDOM);
CHECK_DEF("ERANGE", ERANGE, MSVCRT_ERANGE);
CHECK_DEF("EDEADLK", EDEADLK, MSVCRT_EDEADLK);
CHECK_DEF("EDEADLOCK", EDEADLOCK, MSVCRT_EDEADLOCK);
CHECK_DEF("ENAMETOOLONG", ENAMETOOLONG, MSVCRT_ENAMETOOLONG);
CHECK_DEF("ENOLCK", ENOLCK, MSVCRT_ENOLCK);
CHECK_DEF("ENOSYS", ENOSYS, MSVCRT_ENOSYS);
CHECK_DEF("ENOTEMPTY", ENOTEMPTY, MSVCRT_ENOTEMPTY);
CHECK_DEF("LC_ALL", LC_ALL, MSVCRT_LC_ALL);
CHECK_DEF("LC_COLLATE", LC_COLLATE, MSVCRT_LC_COLLATE);
CHECK_DEF("LC_CTYPE", LC_CTYPE, MSVCRT_LC_CTYPE);
CHECK_DEF("LC_MONETARY", LC_MONETARY, MSVCRT_LC_MONETARY);
CHECK_DEF("LC_NUMERIC", LC_NUMERIC, MSVCRT_LC_NUMERIC);
CHECK_DEF("LC_TIME", LC_TIME, MSVCRT_LC_TIME);
CHECK_DEF("LC_MIN", LC_MIN, MSVCRT_LC_MIN);
CHECK_DEF("LC_MAX", LC_MAX, MSVCRT_LC_MAX);
CHECK_DEF("CLOCKS_PER_SEC", CLOCKS_PER_SEC, MSVCRT_CLOCKS_PER_SEC);
CHECK_DEF("_HEAPEMPTY", _HEAPEMPTY, MSVCRT__HEAPEMPTY);
CHECK_DEF("_HEAPOK", _HEAPOK, MSVCRT__HEAPOK);
CHECK_DEF("_HEAPBADBEGIN", _HEAPBADBEGIN, MSVCRT__HEAPBADBEGIN);
CHECK_DEF("_HEAPBADNODE", _HEAPBADNODE, MSVCRT__HEAPBADNODE);
CHECK_DEF("_HEAPEND", _HEAPEND, MSVCRT__HEAPEND);
CHECK_DEF("_HEAPBADPTR", _HEAPBADPTR, MSVCRT__HEAPBADPTR);
CHECK_DEF("_FREEENTRY", _FREEENTRY, MSVCRT__FREEENTRY);
CHECK_DEF("_USEDENTRY", _USEDENTRY, MSVCRT__USEDENTRY);
CHECK_DEF("_OUT_TO_DEFAULT", _OUT_TO_DEFAULT, MSVCRT__OUT_TO_DEFAULT);
CHECK_DEF("_REPORT_ERRMODE", _REPORT_ERRMODE, MSVCRT__REPORT_ERRMODE);
CHECK_DEF("_UPPER", _UPPER, MSVCRT__UPPER);
CHECK_DEF("_LOWER", _LOWER, MSVCRT__LOWER);
CHECK_DEF("_DIGIT", _DIGIT, MSVCRT__DIGIT);
CHECK_DEF("_SPACE", _SPACE, MSVCRT__SPACE);
CHECK_DEF("_PUNCT", _PUNCT, MSVCRT__PUNCT);
CHECK_DEF("_CONTROL", _CONTROL, MSVCRT__CONTROL);
CHECK_DEF("_BLANK", _BLANK, MSVCRT__BLANK);
CHECK_DEF("_HEX", _HEX, MSVCRT__HEX);
CHECK_DEF("_LEADBYTE", _LEADBYTE, MSVCRT__LEADBYTE);
CHECK_DEF("_ALPHA", _ALPHA, MSVCRT__ALPHA);
CHECK_DEF("_IOREAD", _IOREAD, MSVCRT__IOREAD);
CHECK_DEF("_IOWRT", _IOWRT, MSVCRT__IOWRT);
CHECK_DEF("_IOMYBUF", _IOMYBUF, MSVCRT__IOMYBUF);
CHECK_DEF("_IOEOF", _IOEOF, MSVCRT__IOEOF);
CHECK_DEF("_IOERR", _IOERR, MSVCRT__IOERR);
CHECK_DEF("_IOSTRG", _IOSTRG, MSVCRT__IOSTRG);
CHECK_DEF("_IORW", _IORW, MSVCRT__IORW);
CHECK_DEF("_S_IEXEC", _S_IEXEC, MSVCRT__S_IEXEC);
CHECK_DEF("_S_IWRITE", _S_IWRITE, MSVCRT__S_IWRITE);
CHECK_DEF("_S_IREAD", _S_IREAD, MSVCRT__S_IREAD);
CHECK_DEF("_S_IFIFO", _S_IFIFO, MSVCRT__S_IFIFO);
CHECK_DEF("_S_IFCHR", _S_IFCHR, MSVCRT__S_IFCHR);
CHECK_DEF("_S_IFDIR", _S_IFDIR, MSVCRT__S_IFDIR);
CHECK_DEF("_S_IFREG", _S_IFREG, MSVCRT__S_IFREG);
CHECK_DEF("_S_IFMT", _S_IFMT, MSVCRT__S_IFMT);
CHECK_DEF("_LK_UNLCK", _LK_UNLCK, MSVCRT__LK_UNLCK);
CHECK_DEF("_LK_LOCK", _LK_LOCK, MSVCRT__LK_LOCK);
CHECK_DEF("_LK_NBLCK", _LK_NBLCK, MSVCRT__LK_NBLCK);
CHECK_DEF("_LK_RLCK", _LK_RLCK, MSVCRT__LK_RLCK);
CHECK_DEF("_LK_NBRLCK", _LK_NBRLCK, MSVCRT__LK_NBRLCK);
CHECK_DEF("_O_RDONLY", _O_RDONLY, MSVCRT__O_RDONLY);
CHECK_DEF("_O_WRONLY", _O_WRONLY, MSVCRT__O_WRONLY);
CHECK_DEF("_O_RDWR", _O_RDWR, MSVCRT__O_RDWR);
CHECK_DEF("_O_ACCMODE", _O_ACCMODE, MSVCRT__O_ACCMODE);
CHECK_DEF("_O_APPEND", _O_APPEND, MSVCRT__O_APPEND);
CHECK_DEF("_O_RANDOM", _O_RANDOM, MSVCRT__O_RANDOM);
CHECK_DEF("_O_SEQUENTIAL", _O_SEQUENTIAL, MSVCRT__O_SEQUENTIAL);
CHECK_DEF("_O_TEMPORARY", _O_TEMPORARY, MSVCRT__O_TEMPORARY);
CHECK_DEF("_O_NOINHERIT", _O_NOINHERIT, MSVCRT__O_NOINHERIT);
CHECK_DEF("_O_CREAT", _O_CREAT, MSVCRT__O_CREAT);
CHECK_DEF("_O_TRUNC", _O_TRUNC, MSVCRT__O_TRUNC);
CHECK_DEF("_O_EXCL", _O_EXCL, MSVCRT__O_EXCL);
CHECK_DEF("_O_SHORT_LIVED", _O_SHORT_LIVED, MSVCRT__O_SHORT_LIVED);
CHECK_DEF("_O_TEXT", _O_TEXT, MSVCRT__O_TEXT);
CHECK_DEF("_O_BINARY", _O_BINARY, MSVCRT__O_BINARY);
CHECK_DEF("_O_RAW", _O_RAW, MSVCRT__O_RAW);
CHECK_DEF("_SW_INEXACT", _SW_INEXACT, MSVCRT__SW_INEXACT);
CHECK_DEF("_SW_UNDERFLOW", _SW_UNDERFLOW, MSVCRT__SW_UNDERFLOW);
CHECK_DEF("_SW_OVERFLOW", _SW_OVERFLOW, MSVCRT__SW_OVERFLOW);
CHECK_DEF("_SW_ZERODIVIDE", _SW_ZERODIVIDE, MSVCRT__SW_ZERODIVIDE);
CHECK_DEF("_SW_INVALID", _SW_INVALID, MSVCRT__SW_INVALID);
CHECK_DEF("_SW_UNEMULATED", _SW_UNEMULATED, MSVCRT__SW_UNEMULATED);
CHECK_DEF("_SW_SQRTNEG", _SW_SQRTNEG, MSVCRT__SW_SQRTNEG);
CHECK_DEF("_SW_STACKOVERFLOW", _SW_STACKOVERFLOW, MSVCRT__SW_STACKOVERFLOW);
CHECK_DEF("_SW_STACKUNDERFLOW", _SW_STACKUNDERFLOW, MSVCRT__SW_STACKUNDERFLOW);
CHECK_DEF("_SW_DENORMAL", _SW_DENORMAL, MSVCRT__SW_DENORMAL);
CHECK_DEF("_FPCLASS_SNAN", _FPCLASS_SNAN, MSVCRT__FPCLASS_SNAN);
CHECK_DEF("_FPCLASS_QNAN", _FPCLASS_QNAN, MSVCRT__FPCLASS_QNAN);
CHECK_DEF("_FPCLASS_NINF", _FPCLASS_NINF, MSVCRT__FPCLASS_NINF);
CHECK_DEF("_FPCLASS_NN", _FPCLASS_NN, MSVCRT__FPCLASS_NN);
CHECK_DEF("_FPCLASS_ND", _FPCLASS_ND, MSVCRT__FPCLASS_ND);
CHECK_DEF("_FPCLASS_NZ", _FPCLASS_NZ, MSVCRT__FPCLASS_NZ);
CHECK_DEF("_FPCLASS_PZ", _FPCLASS_PZ, MSVCRT__FPCLASS_PZ);
CHECK_DEF("_FPCLASS_PD", _FPCLASS_PD, MSVCRT__FPCLASS_PD);
CHECK_DEF("_FPCLASS_PN", _FPCLASS_PN, MSVCRT__FPCLASS_PN);
CHECK_DEF("_FPCLASS_PINF", _FPCLASS_PINF, MSVCRT__FPCLASS_PINF);
CHECK_DEF("SIGINT", SIGINT, MSVCRT_SIGINT);
CHECK_DEF("SIGILL", SIGILL, MSVCRT_SIGILL);
CHECK_DEF("SIGFPE", SIGFPE, MSVCRT_SIGFPE);
CHECK_DEF("SIGSEGV", SIGSEGV, MSVCRT_SIGSEGV);
CHECK_DEF("SIGTERM", SIGTERM, MSVCRT_SIGTERM);
CHECK_DEF("SIGBREAK", SIGBREAK, MSVCRT_SIGBREAK);
CHECK_DEF("SIGABRT", SIGABRT, MSVCRT_SIGABRT);
CHECK_DEF("NSIG", NSIG, MSVCRT_NSIG);
CHECK_DEF(WEOF);
CHECK_DEF(EOF);
CHECK_DEF(TMP_MAX);
CHECK_DEF(BUFSIZ);
CHECK_DEF(STDIN_FILENO);
CHECK_DEF(STDOUT_FILENO);
CHECK_DEF(STDERR_FILENO);
CHECK_DEF(_IOFBF);
CHECK_DEF(_IONBF);
CHECK_DEF(_IOLBF);
CHECK_DEF(FILENAME_MAX);
CHECK_DEF(_P_WAIT);
CHECK_DEF(_P_NOWAIT);
CHECK_DEF(_P_OVERLAY);
CHECK_DEF(_P_NOWAITO);
CHECK_DEF(_P_DETACH);
CHECK_DEF(EPERM);
CHECK_DEF(ENOENT);
CHECK_DEF(ESRCH);
CHECK_DEF(EINTR);
CHECK_DEF(EIO);
CHECK_DEF(ENXIO);
CHECK_DEF(E2BIG);
CHECK_DEF(ENOEXEC);
CHECK_DEF(EBADF);
CHECK_DEF(ECHILD);
CHECK_DEF(EAGAIN);
CHECK_DEF(ENOMEM);
CHECK_DEF(EACCES);
CHECK_DEF(EFAULT);
CHECK_DEF(EBUSY);
CHECK_DEF(EEXIST);
CHECK_DEF(EXDEV);
CHECK_DEF(ENODEV);
CHECK_DEF(ENOTDIR);
CHECK_DEF(EISDIR);
CHECK_DEF(EINVAL);
CHECK_DEF(ENFILE);
CHECK_DEF(EMFILE);
CHECK_DEF(ENOTTY);
CHECK_DEF(EFBIG);
CHECK_DEF(ENOSPC);
CHECK_DEF(ESPIPE);
CHECK_DEF(EROFS);
CHECK_DEF(EMLINK);
CHECK_DEF(EPIPE);
CHECK_DEF(EDOM);
CHECK_DEF(ERANGE);
CHECK_DEF(EDEADLK);
CHECK_DEF(EDEADLOCK);
CHECK_DEF(ENAMETOOLONG);
CHECK_DEF(ENOLCK);
CHECK_DEF(ENOSYS);
CHECK_DEF(ENOTEMPTY);
CHECK_DEF(LC_ALL);
CHECK_DEF(LC_COLLATE);
CHECK_DEF(LC_CTYPE);
CHECK_DEF(LC_MONETARY);
CHECK_DEF(LC_NUMERIC);
CHECK_DEF(LC_TIME);
CHECK_DEF(LC_MIN);
CHECK_DEF(LC_MAX);
CHECK_DEF(CLOCKS_PER_SEC);
CHECK_DEF(_HEAPEMPTY);
CHECK_DEF(_HEAPOK);
CHECK_DEF(_HEAPBADBEGIN);
CHECK_DEF(_HEAPBADNODE);
CHECK_DEF(_HEAPEND);
CHECK_DEF(_HEAPBADPTR);
CHECK_DEF(_FREEENTRY);
CHECK_DEF(_USEDENTRY);
CHECK_DEF(_OUT_TO_DEFAULT);
CHECK_DEF(_REPORT_ERRMODE);
CHECK_DEF(_UPPER);
CHECK_DEF(_LOWER);
CHECK_DEF(_DIGIT);
CHECK_DEF(_SPACE);
CHECK_DEF(_PUNCT);
CHECK_DEF(_CONTROL);
CHECK_DEF(_BLANK);
CHECK_DEF(_HEX);
CHECK_DEF(_LEADBYTE);
CHECK_DEF(_ALPHA);
CHECK_DEF(_IOREAD);
CHECK_DEF(_IOWRT);
CHECK_DEF(_IOMYBUF);
CHECK_DEF(_IOEOF);
CHECK_DEF(_IOERR);
CHECK_DEF(_IOSTRG);
CHECK_DEF(_IORW);
CHECK_DEF(_S_IEXEC);
CHECK_DEF(_S_IWRITE);
CHECK_DEF(_S_IREAD);
CHECK_DEF(_S_IFIFO);
CHECK_DEF(_S_IFCHR);
CHECK_DEF(_S_IFDIR);
CHECK_DEF(_S_IFREG);
CHECK_DEF(_S_IFMT);
CHECK_DEF(_LK_UNLCK);
CHECK_DEF(_LK_LOCK);
CHECK_DEF(_LK_NBLCK);
CHECK_DEF(_LK_RLCK);
CHECK_DEF(_LK_NBRLCK);
CHECK_DEF(_O_RDONLY);
CHECK_DEF(_O_WRONLY);
CHECK_DEF(_O_RDWR);
CHECK_DEF(_O_ACCMODE);
CHECK_DEF(_O_APPEND);
CHECK_DEF(_O_RANDOM);
CHECK_DEF(_O_SEQUENTIAL);
CHECK_DEF(_O_TEMPORARY);
CHECK_DEF(_O_NOINHERIT);
CHECK_DEF(_O_CREAT);
CHECK_DEF(_O_TRUNC);
CHECK_DEF(_O_EXCL);
CHECK_DEF(_O_SHORT_LIVED);
CHECK_DEF(_O_TEXT);
CHECK_DEF(_O_BINARY);
CHECK_DEF(_O_RAW);
CHECK_DEF(_SW_INEXACT);
CHECK_DEF(_SW_UNDERFLOW);
CHECK_DEF(_SW_OVERFLOW);
CHECK_DEF(_SW_ZERODIVIDE);
CHECK_DEF(_SW_INVALID);
CHECK_DEF(_SW_UNEMULATED);
CHECK_DEF(_SW_SQRTNEG);
CHECK_DEF(_SW_STACKOVERFLOW);
CHECK_DEF(_SW_STACKUNDERFLOW);
CHECK_DEF(_SW_DENORMAL);
CHECK_DEF(_FPCLASS_SNAN);
CHECK_DEF(_FPCLASS_QNAN);
CHECK_DEF(_FPCLASS_NINF);
CHECK_DEF(_FPCLASS_NN);
CHECK_DEF(_FPCLASS_ND);
CHECK_DEF(_FPCLASS_NZ);
CHECK_DEF(_FPCLASS_PZ);
CHECK_DEF(_FPCLASS_PD);
CHECK_DEF(_FPCLASS_PN);
CHECK_DEF(_FPCLASS_PINF);
CHECK_DEF(SIGINT);
CHECK_DEF(SIGILL);
CHECK_DEF(SIGFPE);
CHECK_DEF(SIGSEGV);
CHECK_DEF(SIGTERM);
CHECK_DEF(SIGBREAK);
CHECK_DEF(SIGABRT);
CHECK_DEF(NSIG);
#ifdef __i386__
CHECK_DEF("_EM_INVALID", _EM_INVALID, MSVCRT__EM_INVALID);
CHECK_DEF("_EM_DENORMAL", _EM_DENORMAL, MSVCRT__EM_DENORMAL);
CHECK_DEF("_EM_ZERODIVIDE", _EM_ZERODIVIDE, MSVCRT__EM_ZERODIVIDE);
CHECK_DEF("_EM_OVERFLOW", _EM_OVERFLOW, MSVCRT__EM_OVERFLOW);
CHECK_DEF("_EM_UNDERFLOW", _EM_UNDERFLOW, MSVCRT__EM_UNDERFLOW);
CHECK_DEF("_EM_INEXACT", _EM_INEXACT, MSVCRT__EM_INEXACT);
CHECK_DEF("_IC_AFFINE", _IC_AFFINE, MSVCRT__IC_AFFINE);
CHECK_DEF("_IC_PROJECTIVE", _IC_PROJECTIVE, MSVCRT__IC_PROJECTIVE);
CHECK_DEF("_RC_CHOP", _RC_CHOP, MSVCRT__RC_CHOP);
CHECK_DEF("_RC_UP", _RC_UP, MSVCRT__RC_UP);
CHECK_DEF("_RC_DOWN", _RC_DOWN, MSVCRT__RC_DOWN);
CHECK_DEF("_RC_NEAR", _RC_NEAR, MSVCRT__RC_NEAR);
CHECK_DEF("_PC_24", _PC_24, MSVCRT__PC_24);
CHECK_DEF("_PC_53", _PC_53, MSVCRT__PC_53);
CHECK_DEF("_PC_64", _PC_64, MSVCRT__PC_64);
CHECK_DEF(_EM_INVALID);
CHECK_DEF(_EM_DENORMAL);
CHECK_DEF(_EM_ZERODIVIDE);
CHECK_DEF(_EM_OVERFLOW);
CHECK_DEF(_EM_UNDERFLOW);
CHECK_DEF(_EM_INEXACT);
CHECK_DEF(_IC_AFFINE);
CHECK_DEF(_IC_PROJECTIVE);
CHECK_DEF(_RC_CHOP);
CHECK_DEF(_RC_UP);
CHECK_DEF(_RC_DOWN);
CHECK_DEF(_RC_NEAR);
CHECK_DEF(_PC_24);
CHECK_DEF(_PC_53);
CHECK_DEF(_PC_64);
#endif
}