|
Odamex
Setting the Standard in Multiplayer Doom
|
00001 // Emacs style mode select -*- C++ -*- 00002 //----------------------------------------------------------------------------- 00003 // 00004 // $Id: lzodefs.h 1084 2008-08-14 02:48:40Z russellrice $ 00005 // 00006 // lzodefs.h -- architecture, OS and compiler specific defines 00007 // 00008 // This file is part of the LZO real-time data compression library. 00009 // 00010 // Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 00011 // Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 00012 // Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 00013 // Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 00014 // Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 00015 // Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 00016 // Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 00017 // Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 00018 // Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 00019 // Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 00020 // All Rights Reserved. 00021 // 00022 // The LZO library is free software; you can redistribute it and/or 00023 // modify it under the terms of the GNU General Public License, 00024 // version 2, as published by the Free Software Foundation. 00025 // 00026 // The LZO library is distributed in the hope that it will be useful, 00027 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00028 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00029 // GNU General Public License for more details. 00030 // 00031 // You should have received a copy of the GNU General Public License 00032 // along with the LZO library; see the file COPYING. 00033 // If not, write to the Free Software Foundation, Inc., 00034 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00035 // 00036 // Markus F.X.J. Oberhumer 00037 // <markus@oberhumer.com> 00038 // http://www.oberhumer.com/opensource/lzo/ 00039 // 00040 //----------------------------------------------------------------------------- 00041 00042 00043 #ifndef __LZODEFS_H_INCLUDED 00044 #define __LZODEFS_H_INCLUDED 1 00045 00046 #if defined(__CYGWIN32__) && !defined(__CYGWIN__) 00047 # define __CYGWIN__ __CYGWIN32__ 00048 #endif 00049 #if defined(__IBMCPP__) && !defined(__IBMC__) 00050 # define __IBMC__ __IBMCPP__ 00051 #endif 00052 #if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER) 00053 # define __INTEL_COMPILER __ICL 00054 #endif 00055 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) 00056 # define _ALL_SOURCE 1 00057 #endif 00058 #if defined(__mips__) && defined(__R5900__) 00059 # if !defined(__LONG_MAX__) 00060 # define __LONG_MAX__ 9223372036854775807L 00061 # endif 00062 #endif 00063 #if defined(__INTEL_COMPILER) && defined(__linux__) 00064 # pragma warning(disable: 193) 00065 #endif 00066 #if defined(__KEIL__) && defined(__C166__) 00067 # pragma warning disable = 322 00068 #elif 0 && defined(__C251__) 00069 # pragma warning disable = 322 00070 #endif 00071 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) 00072 # if (_MSC_VER >= 1300) 00073 # pragma warning(disable: 4668) 00074 # endif 00075 #endif 00076 #if 0 && defined(__WATCOMC__) 00077 # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) 00078 # pragma warning 203 9 00079 # endif 00080 #endif 00081 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) 00082 # pragma option -h 00083 #endif 00084 #if 0 00085 #define LZO_0xffffL 0xfffful 00086 #define LZO_0xffffffffL 0xfffffffful 00087 #else 00088 #define LZO_0xffffL 65535ul 00089 #define LZO_0xffffffffL 4294967295ul 00090 #endif 00091 #if (LZO_0xffffL == LZO_0xffffffffL) 00092 # error "your preprocessor is broken 1" 00093 #endif 00094 #if (16ul * 16384ul != 262144ul) 00095 # error "your preprocessor is broken 2" 00096 #endif 00097 #if 0 00098 #if (32767 >= 4294967295ul) 00099 # error "your preprocessor is broken 3" 00100 #endif 00101 #if (65535u >= 4294967295ul) 00102 # error "your preprocessor is broken 4" 00103 #endif 00104 #endif 00105 #if (UINT_MAX == LZO_0xffffL) 00106 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) 00107 # if !defined(MSDOS) 00108 # define MSDOS 1 00109 # endif 00110 # if !defined(_MSDOS) 00111 # define _MSDOS 1 00112 # endif 00113 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) 00114 # if (__VERSION == 520) && (MB_LEN_MAX == 1) 00115 # if !defined(__AZTEC_C__) 00116 # define __AZTEC_C__ __VERSION 00117 # endif 00118 # if !defined(__DOS__) 00119 # define __DOS__ 1 00120 # endif 00121 # endif 00122 #endif 00123 #endif 00124 #if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) 00125 # define ptrdiff_t long 00126 # define _PTRDIFF_T_DEFINED 00127 #endif 00128 #if (UINT_MAX == LZO_0xffffL) 00129 # undef __LZO_RENAME_A 00130 # undef __LZO_RENAME_B 00131 # if defined(__AZTEC_C__) && defined(__DOS__) 00132 # define __LZO_RENAME_A 1 00133 # elif defined(_MSC_VER) && defined(MSDOS) 00134 # if (_MSC_VER < 600) 00135 # define __LZO_RENAME_A 1 00136 # elif (_MSC_VER < 700) 00137 # define __LZO_RENAME_B 1 00138 # endif 00139 # elif defined(__TSC__) && defined(__OS2__) 00140 # define __LZO_RENAME_A 1 00141 # elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) 00142 # define __LZO_RENAME_A 1 00143 # elif defined(__PACIFIC__) && defined(DOS) 00144 # if !defined(__far) 00145 # define __far far 00146 # endif 00147 # if !defined(__near) 00148 # define __near near 00149 # endif 00150 # endif 00151 # if defined(__LZO_RENAME_A) 00152 # if !defined(__cdecl) 00153 # define __cdecl cdecl 00154 # endif 00155 # if !defined(__far) 00156 # define __far far 00157 # endif 00158 # if !defined(__huge) 00159 # define __huge huge 00160 # endif 00161 # if !defined(__near) 00162 # define __near near 00163 # endif 00164 # if !defined(__pascal) 00165 # define __pascal pascal 00166 # endif 00167 # if !defined(__huge) 00168 # define __huge huge 00169 # endif 00170 # elif defined(__LZO_RENAME_B) 00171 # if !defined(__cdecl) 00172 # define __cdecl _cdecl 00173 # endif 00174 # if !defined(__far) 00175 # define __far _far 00176 # endif 00177 # if !defined(__huge) 00178 # define __huge _huge 00179 # endif 00180 # if !defined(__near) 00181 # define __near _near 00182 # endif 00183 # if !defined(__pascal) 00184 # define __pascal _pascal 00185 # endif 00186 # elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 00187 # if !defined(__cdecl) 00188 # define __cdecl cdecl 00189 # endif 00190 # if !defined(__pascal) 00191 # define __pascal pascal 00192 # endif 00193 # endif 00194 # undef __LZO_RENAME_A 00195 # undef __LZO_RENAME_B 00196 #endif 00197 #if (UINT_MAX == LZO_0xffffL) 00198 #if defined(__AZTEC_C__) && defined(__DOS__) 00199 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 00200 #elif defined(_MSC_VER) && defined(MSDOS) 00201 # if (_MSC_VER < 600) 00202 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 00203 # endif 00204 # if (_MSC_VER < 700) 00205 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 00206 # define LZO_BROKEN_SIZEOF 1 00207 # endif 00208 #elif defined(__PACIFIC__) && defined(DOS) 00209 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 00210 #elif defined(__TURBOC__) && defined(__MSDOS__) 00211 # if (__TURBOC__ < 0x0150) 00212 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 00213 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 00214 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 00215 # endif 00216 # if (__TURBOC__ < 0x0200) 00217 # define LZO_BROKEN_SIZEOF 1 00218 # endif 00219 # if (__TURBOC__ < 0x0400) && defined(__cplusplus) 00220 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 00221 # endif 00222 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 00223 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 00224 # define LZO_BROKEN_SIZEOF 1 00225 #endif 00226 #endif 00227 #if defined(__WATCOMC__) && (__WATCOMC__ < 900) 00228 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 00229 #endif 00230 #define LZO_CPP_STRINGIZE(x) #x 00231 #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) 00232 #define LZO_CPP_CONCAT2(a,b) a ## b 00233 #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c 00234 #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d 00235 #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 00236 #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) 00237 #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) 00238 #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) 00239 #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) 00240 #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o)) 00241 #if 1 && defined(__cplusplus) 00242 # if !defined(__STDC_CONSTANT_MACROS) 00243 # define __STDC_CONSTANT_MACROS 1 00244 # endif 00245 # if !defined(__STDC_LIMIT_MACROS) 00246 # define __STDC_LIMIT_MACROS 1 00247 # endif 00248 #endif 00249 #if defined(__cplusplus) 00250 # define LZO_EXTERN_C extern "C" 00251 #else 00252 # define LZO_EXTERN_C extern 00253 #endif 00254 #if !defined(__LZO_OS_OVERRIDE) 00255 #if defined(LZO_OS_FREESTANDING) 00256 # define LZO_INFO_OS "freestanding" 00257 #elif defined(LZO_OS_EMBEDDED) 00258 # define LZO_INFO_OS "embedded" 00259 #elif defined(__CYGWIN__) && defined(__GNUC__) 00260 # define LZO_OS_CYGWIN 1 00261 # define LZO_INFO_OS "cygwin" 00262 #elif defined(__EMX__) && defined(__GNUC__) 00263 # define LZO_OS_EMX 1 00264 # define LZO_INFO_OS "emx" 00265 #elif defined(__BEOS__) 00266 # define LZO_OS_BEOS 1 00267 # define LZO_INFO_OS "beos" 00268 #elif defined(__Lynx__) 00269 # define LZO_OS_LYNXOS 1 00270 # define LZO_INFO_OS "lynxos" 00271 #elif defined(__OS400__) 00272 # define LZO_OS_OS400 1 00273 # define LZO_INFO_OS "os400" 00274 #elif defined(__QNX__) 00275 # define LZO_OS_QNX 1 00276 # define LZO_INFO_OS "qnx" 00277 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) 00278 # define LZO_OS_DOS32 1 00279 # define LZO_INFO_OS "dos32" 00280 #elif defined(__BORLANDC__) && defined(__DPMI16__) 00281 # define LZO_OS_DOS16 1 00282 # define LZO_INFO_OS "dos16" 00283 #elif defined(__ZTC__) && defined(DOS386) 00284 # define LZO_OS_DOS32 1 00285 # define LZO_INFO_OS "dos32" 00286 #elif defined(__OS2__) || defined(__OS2V2__) 00287 # if (UINT_MAX == LZO_0xffffL) 00288 # define LZO_OS_OS216 1 00289 # define LZO_INFO_OS "os216" 00290 # elif (UINT_MAX == LZO_0xffffffffL) 00291 # define LZO_OS_OS2 1 00292 # define LZO_INFO_OS "os2" 00293 # else 00294 # error "check your limits.h header" 00295 # endif 00296 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) 00297 # define LZO_OS_WIN64 1 00298 # define LZO_INFO_OS "win64" 00299 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) 00300 # define LZO_OS_WIN32 1 00301 # define LZO_INFO_OS "win32" 00302 #elif defined(__MWERKS__) && defined(__INTEL__) 00303 # define LZO_OS_WIN32 1 00304 # define LZO_INFO_OS "win32" 00305 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) 00306 # if (UINT_MAX == LZO_0xffffL) 00307 # define LZO_OS_WIN16 1 00308 # define LZO_INFO_OS "win16" 00309 # elif (UINT_MAX == LZO_0xffffffffL) 00310 # define LZO_OS_WIN32 1 00311 # define LZO_INFO_OS "win32" 00312 # else 00313 # error "check your limits.h header" 00314 # endif 00315 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) 00316 # if (UINT_MAX == LZO_0xffffL) 00317 # define LZO_OS_DOS16 1 00318 # define LZO_INFO_OS "dos16" 00319 # elif (UINT_MAX == LZO_0xffffffffL) 00320 # define LZO_OS_DOS32 1 00321 # define LZO_INFO_OS "dos32" 00322 # else 00323 # error "check your limits.h header" 00324 # endif 00325 #elif defined(__WATCOMC__) 00326 # if defined(__NT__) && (UINT_MAX == LZO_0xffffL) 00327 # define LZO_OS_DOS16 1 00328 # define LZO_INFO_OS "dos16" 00329 # elif defined(__NT__) && (__WATCOMC__ < 1100) 00330 # define LZO_OS_WIN32 1 00331 # define LZO_INFO_OS "win32" 00332 # else 00333 # error "please specify a target using the -bt compiler option" 00334 # endif 00335 #elif defined(__palmos__) 00336 # define LZO_OS_PALMOS 1 00337 # define LZO_INFO_OS "palmos" 00338 #elif defined(__TOS__) || defined(__atarist__) 00339 # define LZO_OS_TOS 1 00340 # define LZO_INFO_OS "tos" 00341 #elif defined(macintosh) && !defined(__ppc__) 00342 # define LZO_OS_MACCLASSIC 1 00343 # define LZO_INFO_OS "macclassic" 00344 #elif defined(__VMS) 00345 # define LZO_OS_VMS 1 00346 # define LZO_INFO_OS "vms" 00347 #elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 00348 # define LZO_OS_CONSOLE 1 00349 # define LZO_OS_CONSOLE_PS2 1 00350 # define LZO_INFO_OS "console" 00351 # define LZO_INFO_OS_CONSOLE "ps2" 00352 #elif (defined(__mips__) && defined(__psp__)) 00353 # define LZO_OS_CONSOLE 1 00354 # define LZO_OS_CONSOLE_PSP 1 00355 # define LZO_INFO_OS "console" 00356 # define LZO_INFO_OS_CONSOLE "psp" 00357 #else 00358 # define LZO_OS_POSIX 1 00359 # define LZO_INFO_OS "posix" 00360 #endif 00361 #if (LZO_OS_POSIX) 00362 # if defined(_AIX) || defined(__AIX__) || defined(__aix__) 00363 # define LZO_OS_POSIX_AIX 1 00364 # define LZO_INFO_OS_POSIX "aix" 00365 # elif defined(__FreeBSD__) 00366 # define LZO_OS_POSIX_FREEBSD 1 00367 # define LZO_INFO_OS_POSIX "freebsd" 00368 # elif defined(__hpux__) || defined(__hpux) 00369 # define LZO_OS_POSIX_HPUX 1 00370 # define LZO_INFO_OS_POSIX "hpux" 00371 # elif defined(__INTERIX) 00372 # define LZO_OS_POSIX_INTERIX 1 00373 # define LZO_INFO_OS_POSIX "interix" 00374 # elif defined(__IRIX__) || defined(__irix__) 00375 # define LZO_OS_POSIX_IRIX 1 00376 # define LZO_INFO_OS_POSIX "irix" 00377 # elif defined(__linux__) || defined(__linux) 00378 # define LZO_OS_POSIX_LINUX 1 00379 # define LZO_INFO_OS_POSIX "linux" 00380 # elif defined(__APPLE__) || defined(__MACOS__) 00381 # define LZO_OS_POSIX_MACOSX 1 00382 # define LZO_INFO_OS_POSIX "macosx" 00383 # elif defined(__NetBSD__) 00384 # define LZO_OS_POSIX_NETBSD 1 00385 # define LZO_INFO_OS_POSIX "netbsd" 00386 # elif defined(__OpenBSD__) 00387 # define LZO_OS_POSIX_OPENBSD 1 00388 # define LZO_INFO_OS_POSIX "openbsd" 00389 # elif defined(__osf__) 00390 # define LZO_OS_POSIX_OSF 1 00391 # define LZO_INFO_OS_POSIX "osf" 00392 # elif defined(__solaris__) || defined(__sun) 00393 # if defined(__SVR4) || defined(__svr4__) 00394 # define LZO_OS_POSIX_SOLARIS 1 00395 # define LZO_INFO_OS_POSIX "solaris" 00396 # else 00397 # define LZO_OS_POSIX_SUNOS 1 00398 # define LZO_INFO_OS_POSIX "sunos" 00399 # endif 00400 # elif defined(__ultrix__) || defined(__ultrix) 00401 # define LZO_OS_POSIX_ULTRIX 1 00402 # define LZO_INFO_OS_POSIX "ultrix" 00403 # else 00404 # define LZO_OS_POSIX_UNKNOWN 1 00405 # define LZO_INFO_OS_POSIX "unknown" 00406 # endif 00407 #endif 00408 #endif 00409 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 00410 # if (UINT_MAX != LZO_0xffffL) 00411 # error "this should not happen" 00412 # endif 00413 # if (ULONG_MAX != LZO_0xffffffffL) 00414 # error "this should not happen" 00415 # endif 00416 #endif 00417 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) 00418 # if (UINT_MAX != LZO_0xffffffffL) 00419 # error "this should not happen" 00420 # endif 00421 # if (ULONG_MAX != LZO_0xffffffffL) 00422 # error "this should not happen" 00423 # endif 00424 #endif 00425 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) 00426 # define LZO_CC_CILLY 1 00427 # define LZO_INFO_CC "Cilly" 00428 # if defined(__CILLY__) 00429 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__CILLY__) 00430 # else 00431 # define LZO_INFO_CCVER "unknown" 00432 # endif 00433 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) 00434 # define LZO_CC_SDCC 1 00435 # define LZO_INFO_CC "sdcc" 00436 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(SDCC) 00437 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) 00438 # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__) 00439 # define LZO_INFO_CC "Pathscale C" 00440 # define LZO_INFO_CCVER __PATHSCALE__ 00441 #elif defined(__INTEL_COMPILER) 00442 # define LZO_CC_INTELC 1 00443 # define LZO_INFO_CC "Intel C" 00444 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__INTEL_COMPILER) 00445 #elif defined(__POCC__) && defined(_WIN32) 00446 # define LZO_CC_PELLESC 1 00447 # define LZO_INFO_CC "Pelles C" 00448 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__POCC__) 00449 #elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__) 00450 # define LZO_CC_LLVM 1 00451 # define LZO_INFO_CC "llvm-gcc" 00452 # define LZO_INFO_CCVER __VERSION__ 00453 #elif defined(__GNUC__) && defined(__VERSION__) 00454 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 00455 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 00456 # elif defined(__GNUC_MINOR__) 00457 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 00458 # else 00459 # define LZO_CC_GNUC (__GNUC__ * 0x10000L) 00460 # endif 00461 # define LZO_INFO_CC "gcc" 00462 # define LZO_INFO_CCVER __VERSION__ 00463 #elif defined(__AZTEC_C__) 00464 # define LZO_CC_AZTECC 1 00465 # define LZO_INFO_CC "Aztec C" 00466 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__AZTEC_C__) 00467 #elif defined(__BORLANDC__) 00468 # define LZO_CC_BORLANDC 1 00469 # define LZO_INFO_CC "Borland C" 00470 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__BORLANDC__) 00471 #elif defined(__DMC__) && defined(__SC__) 00472 # define LZO_CC_DMC 1 00473 # define LZO_INFO_CC "Digital Mars C" 00474 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DMC__) 00475 #elif defined(__DECC) 00476 # define LZO_CC_DECC 1 00477 # define LZO_INFO_CC "DEC C" 00478 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DECC) 00479 #elif defined(__HIGHC__) 00480 # define LZO_CC_HIGHC 1 00481 # define LZO_INFO_CC "MetaWare High C" 00482 # define LZO_INFO_CCVER "unknown" 00483 #elif defined(__IBMC__) 00484 # define LZO_CC_IBMC 1 00485 # define LZO_INFO_CC "IBM C" 00486 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__IBMC__) 00487 #elif defined(__KEIL__) && defined(__C166__) 00488 # define LZO_CC_KEILC 1 00489 # define LZO_INFO_CC "Keil C" 00490 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__C166__) 00491 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) 00492 # define LZO_CC_LCCWIN32 1 00493 # define LZO_INFO_CC "lcc-win32" 00494 # define LZO_INFO_CCVER "unknown" 00495 #elif defined(__LCC__) 00496 # define LZO_CC_LCC 1 00497 # define LZO_INFO_CC "lcc" 00498 # if defined(__LCC_VERSION__) 00499 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__LCC_VERSION__) 00500 # else 00501 # define LZO_INFO_CCVER "unknown" 00502 # endif 00503 #elif defined(_MSC_VER) 00504 # define LZO_CC_MSC 1 00505 # define LZO_INFO_CC "Microsoft C" 00506 # if defined(_MSC_FULL_VER) 00507 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER) "." LZO_CPP_MACRO_EXPAND(_MSC_FULL_VER) 00508 # else 00509 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER) 00510 # endif 00511 #elif defined(__MWERKS__) 00512 # define LZO_CC_MWERKS 1 00513 # define LZO_INFO_CC "Metrowerks C" 00514 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__MWERKS__) 00515 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) 00516 # define LZO_CC_NDPC 1 00517 # define LZO_INFO_CC "Microway NDP C" 00518 # define LZO_INFO_CCVER "unknown" 00519 #elif defined(__PACIFIC__) 00520 # define LZO_CC_PACIFICC 1 00521 # define LZO_INFO_CC "Pacific C" 00522 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PACIFIC__) 00523 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) 00524 # define LZO_CC_PGI 1 00525 # define LZO_INFO_CC "Portland Group PGI C" 00526 # define LZO_INFO_CCVER "unknown" 00527 #elif defined(__PUREC__) && defined(__TOS__) 00528 # define LZO_CC_PUREC 1 00529 # define LZO_INFO_CC "Pure C" 00530 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PUREC__) 00531 #elif defined(__SC__) && defined(__ZTC__) 00532 # define LZO_CC_SYMANTECC 1 00533 # define LZO_INFO_CC "Symantec C" 00534 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__SC__) 00535 #elif defined(__SUNPRO_C) 00536 # define LZO_CC_SUNPROC 1 00537 # define LZO_INFO_CC "Sun C" 00538 # define LZO_INFO_CCVER "unknown" 00539 #elif defined(__TINYC__) 00540 # define LZO_CC_TINYC 1 00541 # define LZO_INFO_CC "Tiny C" 00542 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TINYC__) 00543 #elif defined(__TSC__) 00544 # define LZO_CC_TOPSPEEDC 1 00545 # define LZO_INFO_CC "TopSpeed C" 00546 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TSC__) 00547 #elif defined(__WATCOMC__) 00548 # define LZO_CC_WATCOMC 1 00549 # define LZO_INFO_CC "Watcom C" 00550 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__WATCOMC__) 00551 #elif defined(__TURBOC__) 00552 # define LZO_CC_TURBOC 1 00553 # define LZO_INFO_CC "Turbo C" 00554 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TURBOC__) 00555 #elif defined(__ZTC__) 00556 # define LZO_CC_ZORTECHC 1 00557 # define LZO_INFO_CC "Zortech C" 00558 # if (__ZTC__ == 0x310) 00559 # define LZO_INFO_CCVER "0x310" 00560 # else 00561 # define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__ZTC__) 00562 # endif 00563 #else 00564 # define LZO_CC_UNKNOWN 1 00565 # define LZO_INFO_CC "unknown" 00566 # define LZO_INFO_CCVER "unknown" 00567 #endif 00568 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) 00569 # error "LZO_CC_MSC: _MSC_FULL_VER is not defined" 00570 #endif 00571 #if !defined(__LZO_ARCH_OVERRIDE) 00572 #if defined(LZO_ARCH_GENERIC) 00573 # define LZO_INFO_ARCH "generic" 00574 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 00575 # define LZO_ARCH_I086 1 00576 # define LZO_ARCH_IA16 1 00577 # define LZO_INFO_ARCH "i086" 00578 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) 00579 # define LZO_ARCH_ALPHA 1 00580 # define LZO_INFO_ARCH "alpha" 00581 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) 00582 # define LZO_ARCH_AMD64 1 00583 # define LZO_INFO_ARCH "amd64" 00584 #elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) 00585 # define LZO_ARCH_ARM 1 00586 # define LZO_ARCH_ARM_THUMB 1 00587 # define LZO_INFO_ARCH "arm_thumb" 00588 #elif defined(__arm__) || defined(_M_ARM) 00589 # define LZO_ARCH_ARM 1 00590 # define LZO_INFO_ARCH "arm" 00591 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) 00592 # define LZO_ARCH_AVR 1 00593 # define LZO_INFO_ARCH "avr" 00594 #elif defined(__bfin__) 00595 # define LZO_ARCH_BLACKFIN 1 00596 # define LZO_INFO_ARCH "blackfin" 00597 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) 00598 # define LZO_ARCH_C166 1 00599 # define LZO_INFO_ARCH "c166" 00600 #elif defined(__cris__) 00601 # define LZO_ARCH_CRIS 1 00602 # define LZO_INFO_ARCH "cris" 00603 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 00604 # define LZO_ARCH_H8300 1 00605 # define LZO_INFO_ARCH "h8300" 00606 #elif defined(__hppa__) || defined(__hppa) 00607 # define LZO_ARCH_HPPA 1 00608 # define LZO_INFO_ARCH "hppa" 00609 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) 00610 # define LZO_ARCH_I386 1 00611 # define LZO_ARCH_IA32 1 00612 # define LZO_INFO_ARCH "i386" 00613 #elif (LZO_CC_ZORTECHC && defined(__I86__)) 00614 # define LZO_ARCH_I386 1 00615 # define LZO_ARCH_IA32 1 00616 # define LZO_INFO_ARCH "i386" 00617 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) 00618 # define LZO_ARCH_I386 1 00619 # define LZO_ARCH_IA32 1 00620 # define LZO_INFO_ARCH "i386" 00621 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) 00622 # define LZO_ARCH_IA64 1 00623 # define LZO_INFO_ARCH "ia64" 00624 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) 00625 # define LZO_ARCH_M16C 1 00626 # define LZO_INFO_ARCH "m16c" 00627 #elif defined(__m32r__) 00628 # define LZO_ARCH_M32R 1 00629 # define LZO_INFO_ARCH "m32r" 00630 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(_M_M68K) 00631 # define LZO_ARCH_M68K 1 00632 # define LZO_INFO_ARCH "m68k" 00633 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) 00634 # define LZO_ARCH_MCS251 1 00635 # define LZO_INFO_ARCH "mcs251" 00636 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) 00637 # define LZO_ARCH_MCS51 1 00638 # define LZO_INFO_ARCH "mcs51" 00639 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) 00640 # define LZO_ARCH_MIPS 1 00641 # define LZO_INFO_ARCH "mips" 00642 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) 00643 # define LZO_ARCH_MSP430 1 00644 # define LZO_INFO_ARCH "msp430" 00645 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) 00646 # define LZO_ARCH_POWERPC 1 00647 # define LZO_INFO_ARCH "powerpc" 00648 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) 00649 # define LZO_ARCH_S390 1 00650 # define LZO_INFO_ARCH "s390" 00651 #elif defined(__sh__) || defined(_M_SH) 00652 # define LZO_ARCH_SH 1 00653 # define LZO_INFO_ARCH "sh" 00654 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) 00655 # define LZO_ARCH_SPARC 1 00656 # define LZO_INFO_ARCH "sparc" 00657 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80) 00658 # define LZO_ARCH_Z80 1 00659 # define LZO_INFO_ARCH "z80" 00660 #else 00661 # define LZO_ARCH_UNKNOWN 1 00662 # define LZO_INFO_ARCH "unknown" 00663 #endif 00664 #endif 00665 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) 00666 # error "FIXME - missing define for CPU architecture" 00667 #endif 00668 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) 00669 # error "FIXME - missing WIN32 define for CPU architecture" 00670 #endif 00671 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) 00672 # error "FIXME - missing WIN64 define for CPU architecture" 00673 #endif 00674 #if (LZO_OS_OS216 || LZO_OS_WIN16) 00675 # define LZO_ARCH_I086PM 1 00676 # define LZO_ARCH_IA16PM 1 00677 #elif 1 && (LZO_OS_DOS16 && defined(BLX286)) 00678 # define LZO_ARCH_I086PM 1 00679 # define LZO_ARCH_IA16PM 1 00680 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) 00681 # define LZO_ARCH_I086PM 1 00682 # define LZO_ARCH_IA16PM 1 00683 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) 00684 # define LZO_ARCH_I086PM 1 00685 # define LZO_ARCH_IA16PM 1 00686 #endif 00687 #if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM) 00688 # error "this should not happen" 00689 #endif 00690 #if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086) 00691 # error "this should not happen" 00692 #endif 00693 #if (LZO_ARCH_I086) 00694 # if (UINT_MAX != LZO_0xffffL) 00695 # error "this should not happen" 00696 # endif 00697 # if (ULONG_MAX != LZO_0xffffffffL) 00698 # error "this should not happen" 00699 # endif 00700 #endif 00701 #if (LZO_ARCH_I386) 00702 # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) 00703 # error "this should not happen" 00704 # endif 00705 # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) 00706 # error "this should not happen" 00707 # endif 00708 # if (ULONG_MAX != LZO_0xffffffffL) 00709 # error "this should not happen" 00710 # endif 00711 #endif 00712 #if !defined(__LZO_MM_OVERRIDE) 00713 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 00714 #if (UINT_MAX != LZO_0xffffL) 00715 # error "this should not happen" 00716 #endif 00717 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) 00718 # define LZO_MM_TINY 1 00719 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) 00720 # define LZO_MM_HUGE 1 00721 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) 00722 # define LZO_MM_SMALL 1 00723 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) 00724 # define LZO_MM_MEDIUM 1 00725 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) 00726 # define LZO_MM_COMPACT 1 00727 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) 00728 # define LZO_MM_LARGE 1 00729 #elif (LZO_CC_AZTECC) 00730 # if defined(_LARGE_CODE) && defined(_LARGE_DATA) 00731 # define LZO_MM_LARGE 1 00732 # elif defined(_LARGE_CODE) 00733 # define LZO_MM_MEDIUM 1 00734 # elif defined(_LARGE_DATA) 00735 # define LZO_MM_COMPACT 1 00736 # else 00737 # define LZO_MM_SMALL 1 00738 # endif 00739 #elif (LZO_CC_ZORTECHC && defined(__VCM__)) 00740 # define LZO_MM_LARGE 1 00741 #else 00742 # error "unknown memory model" 00743 #endif 00744 #define LZO_HAVE_MM_HUGE_PTR 1 00745 #define LZO_HAVE_MM_HUGE_ARRAY 1 00746 #if (LZO_MM_TINY) 00747 # undef LZO_HAVE_MM_HUGE_ARRAY 00748 #endif 00749 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) 00750 # undef LZO_HAVE_MM_HUGE_PTR 00751 # undef LZO_HAVE_MM_HUGE_ARRAY 00752 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 00753 # undef LZO_HAVE_MM_HUGE_ARRAY 00754 #elif (LZO_CC_MSC && defined(_QC)) 00755 # undef LZO_HAVE_MM_HUGE_ARRAY 00756 # if (_MSC_VER < 600) 00757 # undef LZO_HAVE_MM_HUGE_PTR 00758 # endif 00759 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) 00760 # undef LZO_HAVE_MM_HUGE_ARRAY 00761 #endif 00762 #if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR) 00763 # if (LZO_OS_DOS16) 00764 # error "this should not happen" 00765 # elif (LZO_CC_ZORTECHC) 00766 # else 00767 # error "this should not happen" 00768 # endif 00769 #endif 00770 #ifdef __cplusplus 00771 extern "C" { 00772 #endif 00773 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) 00774 extern void __near __cdecl _AHSHIFT(void); 00775 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 00776 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 00777 extern void __near __cdecl _AHSHIFT(void); 00778 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 00779 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) 00780 extern void __near __cdecl _AHSHIFT(void); 00781 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 00782 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) 00783 extern void __near __cdecl _AHSHIFT(void); 00784 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 00785 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) 00786 # define LZO_MM_AHSHIFT 12 00787 #elif (LZO_CC_WATCOMC) 00788 extern unsigned char _HShift; 00789 # define LZO_MM_AHSHIFT ((unsigned) _HShift) 00790 #else 00791 # error "FIXME - implement LZO_MM_AHSHIFT" 00792 #endif 00793 #ifdef __cplusplus 00794 } 00795 #endif 00796 #elif (LZO_ARCH_C166) 00797 #if !defined(__MODEL__) 00798 # error "FIXME - C166 __MODEL__" 00799 #elif ((__MODEL__) == 0) 00800 # define LZO_MM_SMALL 1 00801 #elif ((__MODEL__) == 1) 00802 # define LZO_MM_SMALL 1 00803 #elif ((__MODEL__) == 2) 00804 # define LZO_MM_LARGE 1 00805 #elif ((__MODEL__) == 3) 00806 # define LZO_MM_TINY 1 00807 #elif ((__MODEL__) == 4) 00808 # define LZO_MM_XTINY 1 00809 #elif ((__MODEL__) == 5) 00810 # define LZO_MM_XSMALL 1 00811 #else 00812 # error "FIXME - C166 __MODEL__" 00813 #endif 00814 #elif (LZO_ARCH_MCS251) 00815 #if !defined(__MODEL__) 00816 # error "FIXME - MCS251 __MODEL__" 00817 #elif ((__MODEL__) == 0) 00818 # define LZO_MM_SMALL 1 00819 #elif ((__MODEL__) == 2) 00820 # define LZO_MM_LARGE 1 00821 #elif ((__MODEL__) == 3) 00822 # define LZO_MM_TINY 1 00823 #elif ((__MODEL__) == 4) 00824 # define LZO_MM_XTINY 1 00825 #elif ((__MODEL__) == 5) 00826 # define LZO_MM_XSMALL 1 00827 #else 00828 # error "FIXME - MCS251 __MODEL__" 00829 #endif 00830 #elif (LZO_ARCH_MCS51) 00831 #if !defined(__MODEL__) 00832 # error "FIXME - MCS51 __MODEL__" 00833 #elif ((__MODEL__) == 1) 00834 # define LZO_MM_SMALL 1 00835 #elif ((__MODEL__) == 2) 00836 # define LZO_MM_LARGE 1 00837 #elif ((__MODEL__) == 3) 00838 # define LZO_MM_TINY 1 00839 #elif ((__MODEL__) == 4) 00840 # define LZO_MM_XTINY 1 00841 #elif ((__MODEL__) == 5) 00842 # define LZO_MM_XSMALL 1 00843 #else 00844 # error "FIXME - MCS51 __MODEL__" 00845 #endif 00846 #else 00847 # define LZO_MM_FLAT 1 00848 #endif 00849 #if (LZO_MM_FLAT) 00850 # define LZO_INFO_MM "flat" 00851 #elif (LZO_MM_TINY) 00852 # define LZO_INFO_MM "tiny" 00853 #elif (LZO_MM_SMALL) 00854 # define LZO_INFO_MM "small" 00855 #elif (LZO_MM_MEDIUM) 00856 # define LZO_INFO_MM "medium" 00857 #elif (LZO_MM_COMPACT) 00858 # define LZO_INFO_MM "compact" 00859 #elif (LZO_MM_LARGE) 00860 # define LZO_INFO_MM "large" 00861 #elif (LZO_MM_HUGE) 00862 # define LZO_INFO_MM "huge" 00863 #else 00864 # error "unknown memory model" 00865 #endif 00866 #endif 00867 #if defined(SIZEOF_SHORT) 00868 # define LZO_SIZEOF_SHORT (SIZEOF_SHORT) 00869 #endif 00870 #if defined(SIZEOF_INT) 00871 # define LZO_SIZEOF_INT (SIZEOF_INT) 00872 #endif 00873 #if defined(SIZEOF_LONG) 00874 # define LZO_SIZEOF_LONG (SIZEOF_LONG) 00875 #endif 00876 #if defined(SIZEOF_LONG_LONG) 00877 # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) 00878 #endif 00879 #if defined(SIZEOF___INT16) 00880 # define LZO_SIZEOF___INT16 (SIZEOF___INT16) 00881 #endif 00882 #if defined(SIZEOF___INT32) 00883 # define LZO_SIZEOF___INT32 (SIZEOF___INT32) 00884 #endif 00885 #if defined(SIZEOF___INT64) 00886 # define LZO_SIZEOF___INT64 (SIZEOF___INT64) 00887 #endif 00888 #if defined(SIZEOF_VOID_P) 00889 # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) 00890 #endif 00891 #if defined(SIZEOF_SIZE_T) 00892 # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) 00893 #endif 00894 #if defined(SIZEOF_PTRDIFF_T) 00895 # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) 00896 #endif 00897 #define __LZO_LSR(x,b) (((x)+0ul) >> (b)) 00898 #if !defined(LZO_SIZEOF_SHORT) 00899 # if (USHRT_MAX == LZO_0xffffL) 00900 # define LZO_SIZEOF_SHORT 2 00901 # elif (__LZO_LSR(USHRT_MAX,7) == 1) 00902 # define LZO_SIZEOF_SHORT 1 00903 # elif (__LZO_LSR(USHRT_MAX,15) == 1) 00904 # define LZO_SIZEOF_SHORT 2 00905 # elif (__LZO_LSR(USHRT_MAX,31) == 1) 00906 # define LZO_SIZEOF_SHORT 4 00907 # elif (__LZO_LSR(USHRT_MAX,63) == 1) 00908 # define LZO_SIZEOF_SHORT 8 00909 # elif (__LZO_LSR(USHRT_MAX,127) == 1) 00910 # define LZO_SIZEOF_SHORT 16 00911 # else 00912 # error "LZO_SIZEOF_SHORT" 00913 # endif 00914 #endif 00915 #if !defined(LZO_SIZEOF_INT) 00916 # if (UINT_MAX == LZO_0xffffL) 00917 # define LZO_SIZEOF_INT 2 00918 # elif (UINT_MAX == LZO_0xffffffffL) 00919 # define LZO_SIZEOF_INT 4 00920 # elif (__LZO_LSR(UINT_MAX,7) == 1) 00921 # define LZO_SIZEOF_INT 1 00922 # elif (__LZO_LSR(UINT_MAX,15) == 1) 00923 # define LZO_SIZEOF_INT 2 00924 # elif (__LZO_LSR(UINT_MAX,31) == 1) 00925 # define LZO_SIZEOF_INT 4 00926 # elif (__LZO_LSR(UINT_MAX,63) == 1) 00927 # define LZO_SIZEOF_INT 8 00928 # elif (__LZO_LSR(UINT_MAX,127) == 1) 00929 # define LZO_SIZEOF_INT 16 00930 # else 00931 # error "LZO_SIZEOF_INT" 00932 # endif 00933 #endif 00934 #if !defined(LZO_SIZEOF_LONG) 00935 # if (ULONG_MAX == LZO_0xffffffffL) 00936 # define LZO_SIZEOF_LONG 4 00937 # elif (__LZO_LSR(ULONG_MAX,7) == 1) 00938 # define LZO_SIZEOF_LONG 1 00939 # elif (__LZO_LSR(ULONG_MAX,15) == 1) 00940 # define LZO_SIZEOF_LONG 2 00941 # elif (__LZO_LSR(ULONG_MAX,31) == 1) 00942 # define LZO_SIZEOF_LONG 4 00943 # elif (__LZO_LSR(ULONG_MAX,63) == 1) 00944 # define LZO_SIZEOF_LONG 8 00945 # elif (__LZO_LSR(ULONG_MAX,127) == 1) 00946 # define LZO_SIZEOF_LONG 16 00947 # else 00948 # error "LZO_SIZEOF_LONG" 00949 # endif 00950 #endif 00951 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 00952 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 00953 # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) 00954 # if (LZO_CC_GNUC >= 0x030300ul) 00955 # if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0) 00956 # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG 00957 # endif 00958 # endif 00959 # endif 00960 #endif 00961 #endif 00962 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 00963 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 00964 #if (LZO_ARCH_I086 && LZO_CC_DMC) 00965 #elif (LZO_CC_CILLY) && defined(__GNUC__) 00966 # define LZO_SIZEOF_LONG_LONG 8 00967 #elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 00968 # define LZO_SIZEOF_LONG_LONG 8 00969 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64) && LZO_CC_MSC && (_MSC_VER >= 1400)) 00970 # define LZO_SIZEOF_LONG_LONG 8 00971 #elif (LZO_OS_WIN64) 00972 # define LZO_SIZEOF___INT64 8 00973 #elif (LZO_ARCH_I386 && (LZO_CC_DMC)) 00974 # define LZO_SIZEOF_LONG_LONG 8 00975 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) 00976 # define LZO_SIZEOF_LONG_LONG 8 00977 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) 00978 # define LZO_SIZEOF_LONG_LONG 8 00979 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI)) 00980 # define LZO_SIZEOF_LONG_LONG 8 00981 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) 00982 # define LZO_SIZEOF___INT64 8 00983 #elif (LZO_OS_WIN32 && (LZO_CC_MSC)) 00984 # define LZO_SIZEOF___INT64 8 00985 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) 00986 # define LZO_SIZEOF___INT64 8 00987 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) 00988 # define LZO_SIZEOF___INT64 8 00989 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64)) 00990 # define LZO_SIZEOF___INT64 8 00991 #elif (LZO_OS_OS400) && defined(__LLP64_IFC__) 00992 # define LZO_SIZEOF_LONG_LONG 8 00993 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 00994 # define LZO_SIZEOF_LONG_LONG 8 00995 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) 00996 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 00997 # define LZO_SIZEOF_LONG_LONG 8 00998 #endif 00999 #endif 01000 #endif 01001 #if defined(__cplusplus) && defined(LZO_CC_GNUC) 01002 # if (LZO_CC_GNUC < 0x020800ul) 01003 # undef LZO_SIZEOF_LONG_LONG 01004 # endif 01005 #endif 01006 #if defined(LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG) 01007 # undef LZO_SIZEOF_LONG_LONG 01008 #endif 01009 #if !defined(LZO_SIZEOF_VOID_P) 01010 #if (LZO_ARCH_I086) 01011 # define __LZO_WORDSIZE 2 01012 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) 01013 # define LZO_SIZEOF_VOID_P 2 01014 # elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) 01015 # define LZO_SIZEOF_VOID_P 4 01016 # else 01017 # error "LZO_MM" 01018 # endif 01019 #elif (LZO_ARCH_AVR || LZO_ARCH_Z80) 01020 # define __LZO_WORDSIZE 1 01021 # define LZO_SIZEOF_VOID_P 2 01022 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) 01023 # define LZO_SIZEOF_VOID_P 2 01024 #elif (LZO_ARCH_H8300) 01025 # if defined(__NORMAL_MODE__) 01026 # define __LZO_WORDSIZE 4 01027 # define LZO_SIZEOF_VOID_P 2 01028 # elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 01029 # define __LZO_WORDSIZE 4 01030 # define LZO_SIZEOF_VOID_P 4 01031 # else 01032 # define __LZO_WORDSIZE 2 01033 # define LZO_SIZEOF_VOID_P 2 01034 # endif 01035 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) 01036 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT 01037 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT 01038 # endif 01039 #elif (LZO_ARCH_M16C) 01040 # define __LZO_WORDSIZE 2 01041 # if defined(__m32c_cpu__) || defined(__m32cm_cpu__) 01042 # define LZO_SIZEOF_VOID_P 4 01043 # else 01044 # define LZO_SIZEOF_VOID_P 2 01045 # endif 01046 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 01047 # define __LZO_WORDSIZE 8 01048 # define LZO_SIZEOF_VOID_P 4 01049 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) 01050 # define __LZO_WORDSIZE 8 01051 # define LZO_SIZEOF_VOID_P 8 01052 #elif (LZO_OS_OS400) && defined(__LLP64_IFC__) 01053 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 01054 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 01055 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 01056 #elif (LZO_OS_OS400) 01057 # define __LZO_WORDSIZE LZO_SIZEOF_LONG 01058 # define LZO_SIZEOF_VOID_P 16 01059 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 01060 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 01061 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 01062 # define LZO_SIZEOF_VOID_P 8 01063 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 01064 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 01065 #else 01066 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 01067 #endif 01068 #endif 01069 #if !defined(LZO_WORDSIZE) 01070 # if defined(__LZO_WORDSIZE) 01071 # define LZO_WORDSIZE __LZO_WORDSIZE 01072 # else 01073 # define LZO_WORDSIZE LZO_SIZEOF_VOID_P 01074 # endif 01075 #endif 01076 #if !defined(LZO_SIZEOF_SIZE_T) 01077 #if (LZO_ARCH_I086 || LZO_ARCH_M16C) 01078 # define LZO_SIZEOF_SIZE_T 2 01079 #else 01080 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P 01081 #endif 01082 #endif 01083 #if !defined(LZO_SIZEOF_PTRDIFF_T) 01084 #if (LZO_ARCH_I086) 01085 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) 01086 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P 01087 # elif (LZO_MM_COMPACT || LZO_MM_LARGE) 01088 # if (LZO_CC_BORLANDC || LZO_CC_TURBOC) 01089 # define LZO_SIZEOF_PTRDIFF_T 4 01090 # else 01091 # define LZO_SIZEOF_PTRDIFF_T 2 01092 # endif 01093 # else 01094 # error "LZO_MM" 01095 # endif 01096 #else 01097 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T 01098 #endif 01099 #endif 01100 #if !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) && !defined(LZO_ABI_NEUTRAL_ENDIAN) 01101 #if (LZO_ARCH_AMD64 || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) 01102 # define LZO_ABI_LITTLE_ENDIAN 1 01103 #elif (LZO_ARCH_M68K || LZO_ARCH_S390) 01104 # define LZO_ABI_BIG_ENDIAN 1 01105 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 01106 # define LZO_ABI_BIG_ENDIAN 1 01107 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) 01108 # define LZO_ABI_LITTLE_ENDIAN 1 01109 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) 01110 # define LZO_ABI_BIG_ENDIAN 1 01111 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) 01112 # define LZO_ABI_LITTLE_ENDIAN 1 01113 #endif 01114 #endif 01115 #if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN) 01116 # error "this should not happen" 01117 #endif 01118 #if defined(LZO_ABI_BIG_ENDIAN) 01119 # define LZO_INFO_ABI_ENDIAN "be" 01120 #elif defined(LZO_ABI_LITTLE_ENDIAN) 01121 # define LZO_INFO_ABI_ENDIAN "le" 01122 #elif defined(LZO_ABI_NEUTRAL_ENDIAN) 01123 # define LZO_INFO_ABI_ENDIAN "neutral" 01124 #endif 01125 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 01126 # define LZO_ABI_I8LP16 1 01127 # define LZO_INFO_ABI_PM "i8lp16" 01128 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 01129 # define LZO_ABI_ILP16 1 01130 # define LZO_INFO_ABI_PM "ilp16" 01131 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 01132 # define LZO_ABI_ILP32 1 01133 # define LZO_INFO_ABI_PM "ilp32" 01134 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) 01135 # define LZO_ABI_LLP64 1 01136 # define LZO_INFO_ABI_PM "llp64" 01137 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 01138 # define LZO_ABI_LP64 1 01139 # define LZO_INFO_ABI_PM "lp64" 01140 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 01141 # define LZO_ABI_ILP64 1 01142 # define LZO_INFO_ABI_PM "ilp64" 01143 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) 01144 # define LZO_ABI_IP32L64 1 01145 # define LZO_INFO_ABI_PM "ip32l64" 01146 #endif 01147 #if !defined(__LZO_LIBC_OVERRIDE) 01148 #if defined(LZO_LIBC_NAKED) 01149 # define LZO_INFO_LIBC "naked" 01150 #elif defined(LZO_LIBC_FREESTANDING) 01151 # define LZO_INFO_LIBC "freestanding" 01152 #elif defined(LZO_LIBC_MOSTLY_FREESTANDING) 01153 # define LZO_INFO_LIBC "mfreestanding" 01154 #elif defined(LZO_LIBC_ISOC90) 01155 # define LZO_INFO_LIBC "isoc90" 01156 #elif defined(LZO_LIBC_ISOC99) 01157 # define LZO_INFO_LIBC "isoc99" 01158 #elif defined(__dietlibc__) 01159 # define LZO_LIBC_DIETLIBC 1 01160 # define LZO_INFO_LIBC "dietlibc" 01161 #elif defined(_NEWLIB_VERSION) 01162 # define LZO_LIBC_NEWLIB 1 01163 # define LZO_INFO_LIBC "newlib" 01164 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) 01165 # if defined(__UCLIBC_SUBLEVEL__) 01166 # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__) 01167 # else 01168 # define LZO_LIBC_UCLIBC 0x00090bL 01169 # endif 01170 # define LZO_INFO_LIBC "uclibc" 01171 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) 01172 # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100) 01173 # define LZO_INFO_LIBC "glibc" 01174 #elif (LZO_CC_MWERKS) && defined(__MSL__) 01175 # define LZO_LIBC_MSL __MSL__ 01176 # define LZO_INFO_LIBC "msl" 01177 #else 01178 # define LZO_LIBC_DEFAULT 1 01179 # define LZO_INFO_LIBC "default" 01180 #endif 01181 #endif 01182 #if (LZO_CC_GNUC >= 0x020800ul) 01183 # define __lzo_gnuc_extension__ __extension__ 01184 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01185 # define __lzo_gnuc_extension__ __extension__ 01186 #else 01187 # define __lzo_gnuc_extension__ 01188 #endif 01189 #if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 01190 # define lzo_alignof(e) __alignof__(e) 01191 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) 01192 # define lzo_alignof(e) __alignof__(e) 01193 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 01194 # define lzo_alignof(e) __alignof(e) 01195 #endif 01196 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) 01197 #elif defined(__cplusplus) 01198 # define __lzo_inline inline 01199 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) 01200 # define __lzo_inline __inline 01201 #elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 01202 # define __lzo_inline __inline__ 01203 #elif (LZO_CC_DMC) 01204 # define __lzo_inline __inline 01205 #elif (LZO_CC_INTELC) 01206 # define __lzo_inline __inline 01207 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) 01208 # define __lzo_inline __inline 01209 #elif (LZO_CC_MSC && (_MSC_VER >= 900)) 01210 # define __lzo_inline __inline 01211 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 01212 # define __lzo_inline inline 01213 #endif 01214 #if (LZO_CC_GNUC >= 0x030200ul) 01215 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 01216 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 01217 # define __lzo_forceinline __forceinline 01218 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 01219 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 01220 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01221 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 01222 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 01223 # define __lzo_forceinline __forceinline 01224 #endif 01225 #if (LZO_CC_GNUC >= 0x030200ul) 01226 # define __lzo_noinline __attribute__((__noinline__)) 01227 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 01228 # define __lzo_noinline __declspec(noinline) 01229 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 01230 # define __lzo_noinline __attribute__((__noinline__)) 01231 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01232 # define __lzo_noinline __attribute__((__noinline__)) 01233 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 01234 # define __lzo_noinline __declspec(noinline) 01235 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 01236 # if defined(__cplusplus) 01237 # else 01238 # define __lzo_noinline __declspec(noinline) 01239 # endif 01240 #endif 01241 #if (defined(__lzo_forceinline) || defined(__lzo_noinline)) && !defined(__lzo_inline) 01242 # error "this should not happen" 01243 #endif 01244 #if (LZO_CC_GNUC >= 0x020700ul) 01245 # define __lzo_noreturn __attribute__((__noreturn__)) 01246 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 01247 # define __lzo_noreturn __declspec(noreturn) 01248 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_POSIX)) 01249 # define __lzo_noreturn __attribute__((__noreturn__)) 01250 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01251 # define __lzo_noreturn __attribute__((__noreturn__)) 01252 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 01253 # define __lzo_noreturn __declspec(noreturn) 01254 #endif 01255 #if (LZO_CC_GNUC >= 0x030400ul) 01256 # define __lzo_constructor __attribute__((__constructor__,__used__)) 01257 #elif (LZO_CC_GNUC >= 0x020700ul) 01258 # define __lzo_constructor __attribute__((__constructor__)) 01259 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01260 # define __lzo_constructor __attribute__((__constructor__)) 01261 #endif 01262 #if (LZO_CC_GNUC >= 0x030400ul) 01263 # define __lzo_destructor __attribute__((__destructor__,__used__)) 01264 #elif (LZO_CC_GNUC >= 0x020700ul) 01265 # define __lzo_destructor __attribute__((__destructor__)) 01266 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01267 # define __lzo_destructor __attribute__((__destructor__)) 01268 #endif 01269 #if defined(__lzo_destructor) && !defined(__lzo_constructor) 01270 # error "this should not happen" 01271 #endif 01272 #if (LZO_CC_GNUC >= 0x030200ul) 01273 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 01274 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 01275 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 01276 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 01277 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 01278 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 01279 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 01280 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 01281 #else 01282 # define __lzo_likely(e) (e) 01283 # define __lzo_unlikely(e) (e) 01284 #endif 01285 #if !defined(LZO_UNUSED) 01286 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 01287 # define LZO_UNUSED(var) ((void) &var) 01288 # elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) 01289 # define LZO_UNUSED(var) if (&var) ; else 01290 # elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 01291 # define LZO_UNUSED(var) ((void) var) 01292 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 01293 # define LZO_UNUSED(var) if (&var) ; else 01294 # elif (LZO_CC_KEILC) 01295 # define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];} 01296 # elif (LZO_CC_PACIFICC) 01297 # define LZO_UNUSED(var) ((void) sizeof(var)) 01298 # elif (LZO_CC_WATCOMC) && defined(__cplusplus) 01299 # define LZO_UNUSED(var) ((void) var) 01300 # else 01301 # define LZO_UNUSED(var) ((void) &var) 01302 # endif 01303 #endif 01304 #if !defined(LZO_UNUSED_FUNC) 01305 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 01306 # define LZO_UNUSED_FUNC(func) ((void) func) 01307 # elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) 01308 # define LZO_UNUSED_FUNC(func) if (func) ; else 01309 # elif (LZO_CC_LLVM) 01310 # define LZO_UNUSED_FUNC(func) ((void) &func) 01311 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 01312 # define LZO_UNUSED_FUNC(func) if (func) ; else 01313 # elif (LZO_CC_MSC) 01314 # define LZO_UNUSED_FUNC(func) ((void) &func) 01315 # elif (LZO_CC_KEILC || LZO_CC_PELLESC) 01316 # define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];} 01317 # else 01318 # define LZO_UNUSED_FUNC(func) ((void) func) 01319 # endif 01320 #endif 01321 #if !defined(LZO_UNUSED_LABEL) 01322 # if (LZO_CC_WATCOMC) && defined(__cplusplus) 01323 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 01324 # elif (LZO_CC_INTELC || LZO_CC_WATCOMC) 01325 # define LZO_UNUSED_LABEL(l) if (0) goto l 01326 # else 01327 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 01328 # endif 01329 #endif 01330 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) 01331 # if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) 01332 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 01333 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 01334 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)]; 01335 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 01336 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 01337 # else 01338 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)]; 01339 # endif 01340 #endif 01341 #if !defined(LZO_COMPILE_TIME_ASSERT) 01342 # if (LZO_CC_AZTECC) 01343 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];} 01344 # elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 01345 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 01346 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 01347 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 01348 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 01349 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 01350 # else 01351 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];} 01352 # endif 01353 #endif 01354 #if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) 01355 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) 01356 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 01357 # define __lzo_cdecl __cdecl 01358 # define __lzo_cdecl_atexit 01359 # define __lzo_cdecl_main __cdecl 01360 # if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 01361 # define __lzo_cdecl_qsort __pascal 01362 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 01363 # define __lzo_cdecl_qsort _stdcall 01364 # else 01365 # define __lzo_cdecl_qsort __cdecl 01366 # endif 01367 # elif (LZO_CC_WATCOMC) 01368 # define __lzo_cdecl __cdecl 01369 # else 01370 # define __lzo_cdecl __cdecl 01371 # define __lzo_cdecl_atexit __cdecl 01372 # define __lzo_cdecl_main __cdecl 01373 # define __lzo_cdecl_qsort __cdecl 01374 # endif 01375 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) 01376 # elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 01377 # define __lzo_cdecl_sighandler __pascal 01378 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 01379 # define __lzo_cdecl_sighandler _stdcall 01380 # elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) 01381 # define __lzo_cdecl_sighandler __clrcall 01382 # elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) 01383 # if defined(_DLL) 01384 # define __lzo_cdecl_sighandler _far _cdecl _loadds 01385 # elif defined(_MT) 01386 # define __lzo_cdecl_sighandler _far _cdecl 01387 # else 01388 # define __lzo_cdecl_sighandler _cdecl 01389 # endif 01390 # else 01391 # define __lzo_cdecl_sighandler __cdecl 01392 # endif 01393 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) 01394 # define __lzo_cdecl cdecl 01395 #endif 01396 #if !defined(__lzo_cdecl) 01397 # define __lzo_cdecl 01398 #endif 01399 #if !defined(__lzo_cdecl_atexit) 01400 # define __lzo_cdecl_atexit 01401 #endif 01402 #if !defined(__lzo_cdecl_main) 01403 # define __lzo_cdecl_main 01404 #endif 01405 #if !defined(__lzo_cdecl_qsort) 01406 # define __lzo_cdecl_qsort 01407 #endif 01408 #if !defined(__lzo_cdecl_sighandler) 01409 # define __lzo_cdecl_sighandler 01410 #endif 01411 #if !defined(__lzo_cdecl_va) 01412 # define __lzo_cdecl_va __lzo_cdecl 01413 #endif 01414 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) 01415 # if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) 01416 # elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) 01417 # elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) 01418 # else 01419 # define LZO_HAVE_WINDOWS_H 1 01420 # endif 01421 #endif 01422 #if (LZO_ARCH_ALPHA) 01423 # define LZO_OPT_AVOID_UINT_INDEX 1 01424 # define LZO_OPT_AVOID_SHORT 1 01425 # define LZO_OPT_AVOID_USHORT 1 01426 #elif (LZO_ARCH_AMD64) 01427 # define LZO_OPT_AVOID_INT_INDEX 1 01428 # define LZO_OPT_AVOID_UINT_INDEX 1 01429 # define LZO_OPT_UNALIGNED16 1 01430 # define LZO_OPT_UNALIGNED32 1 01431 # define LZO_OPT_UNALIGNED64 1 01432 #elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB) 01433 #elif (LZO_ARCH_ARM) 01434 # define LZO_OPT_AVOID_SHORT 1 01435 # define LZO_OPT_AVOID_USHORT 1 01436 #elif (LZO_ARCH_CRIS) 01437 # define LZO_OPT_UNALIGNED16 1 01438 # define LZO_OPT_UNALIGNED32 1 01439 #elif (LZO_ARCH_I386) 01440 # define LZO_OPT_UNALIGNED16 1 01441 # define LZO_OPT_UNALIGNED32 1 01442 #elif (LZO_ARCH_IA64) 01443 # define LZO_OPT_AVOID_INT_INDEX 1 01444 # define LZO_OPT_AVOID_UINT_INDEX 1 01445 # define LZO_OPT_PREFER_POSTINC 1 01446 #elif (LZO_ARCH_M68K) 01447 # define LZO_OPT_PREFER_POSTINC 1 01448 # define LZO_OPT_PREFER_PREDEC 1 01449 # if defined(__mc68020__) && !defined(__mcoldfire__) 01450 # define LZO_OPT_UNALIGNED16 1 01451 # define LZO_OPT_UNALIGNED32 1 01452 # endif 01453 #elif (LZO_ARCH_MIPS) 01454 # define LZO_OPT_AVOID_UINT_INDEX 1 01455 #elif (LZO_ARCH_POWERPC) 01456 # define LZO_OPT_PREFER_PREINC 1 01457 # define LZO_OPT_PREFER_PREDEC 1 01458 # if defined(LZO_ABI_BIG_ENDIAN) 01459 # define LZO_OPT_UNALIGNED16 1 01460 # define LZO_OPT_UNALIGNED32 1 01461 # endif 01462 #elif (LZO_ARCH_S390) 01463 # define LZO_OPT_UNALIGNED16 1 01464 # define LZO_OPT_UNALIGNED32 1 01465 # if (LZO_SIZEOF_SIZE_T == 8) 01466 # define LZO_OPT_UNALIGNED64 1 01467 # endif 01468 #elif (LZO_ARCH_SH) 01469 # define LZO_OPT_PREFER_POSTINC 1 01470 # define LZO_OPT_PREFER_PREDEC 1 01471 #endif 01472 #if !defined(LZO_CFG_NO_INLINE_ASM) 01473 #if defined(LZO_CC_LLVM) 01474 # define LZO_CFG_NO_INLINE_ASM 1 01475 #endif 01476 #endif 01477 #if !defined(LZO_CFG_NO_UNALIGNED) 01478 #if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC) 01479 # define LZO_CFG_NO_UNALIGNED 1 01480 #endif 01481 #endif 01482 #if defined(LZO_CFG_NO_UNALIGNED) 01483 # undef LZO_OPT_UNALIGNED16 01484 # undef LZO_OPT_UNALIGNED32 01485 # undef LZO_OPT_UNALIGNED64 01486 #endif 01487 #if defined(LZO_CFG_NO_INLINE_ASM) 01488 #elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 01489 # define LZO_ASM_SYNTAX_MSC 1 01490 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 01491 #elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 01492 # define LZO_ASM_SYNTAX_GNUC 1 01493 #elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 01494 # define LZO_ASM_SYNTAX_GNUC 1 01495 #endif 01496 #if (LZO_ASM_SYNTAX_GNUC) 01497 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) 01498 # define __LZO_ASM_CLOBBER "ax" 01499 #elif (LZO_CC_INTELC) 01500 # define __LZO_ASM_CLOBBER "memory" 01501 #else 01502 # define __LZO_ASM_CLOBBER "cc", "memory" 01503 #endif 01504 #endif 01505 #if defined(__LZO_INFOSTR_MM) 01506 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) 01507 # define __LZO_INFOSTR_MM "" 01508 #elif defined(LZO_INFO_MM) 01509 # define __LZO_INFOSTR_MM "." LZO_INFO_MM 01510 #else 01511 # define __LZO_INFOSTR_MM "" 01512 #endif 01513 #if defined(__LZO_INFOSTR_PM) 01514 #elif defined(LZO_INFO_ABI_PM) 01515 # define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM 01516 #else 01517 # define __LZO_INFOSTR_PM "" 01518 #endif 01519 #if defined(__LZO_INFOSTR_ENDIAN) 01520 #elif defined(LZO_INFO_ABI_ENDIAN) 01521 # define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN 01522 #else 01523 # define __LZO_INFOSTR_ENDIAN "" 01524 #endif 01525 #if defined(__LZO_INFOSTR_OSNAME) 01526 #elif defined(LZO_INFO_OS_CONSOLE) 01527 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE 01528 #elif defined(LZO_INFO_OS_POSIX) 01529 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX 01530 #else 01531 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS 01532 #endif 01533 #if defined(__LZO_INFOSTR_LIBC) 01534 #elif defined(LZO_INFO_LIBC) 01535 # define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC 01536 #else 01537 # define __LZO_INFOSTR_LIBC "" 01538 #endif 01539 #if defined(__LZO_INFOSTR_CCVER) 01540 #elif defined(LZO_INFO_CCVER) 01541 # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER 01542 #else 01543 # define __LZO_INFOSTR_CCVER "" 01544 #endif 01545 #define LZO_INFO_STRING \ 01546 LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ 01547 " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER 01548 01549 #endif /* already included */ 01550 01551 /* vim:set ts=4 et: */