1 /* lzodefs.h -- architecture, OS and compiler specific defines 2 3 This file is part of the LZO real-time data compression library. 4 5 Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer 6 Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer 7 Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer 8 Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer 9 Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer 10 Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer 11 Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer 12 Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer 13 Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer 14 Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer 15 Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer 16 Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer 17 Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer 18 All Rights Reserved. 19 20 The LZO library is free software; you can redistribute it and/or 21 modify it under the terms of the GNU General Public License as 22 published by the Free Software Foundation; either version 2 of 23 the License, or (at your option) any later version. 24 25 The LZO library is distributed in the hope that it will be useful, 26 but WITHOUT ANY WARRANTY; without even the implied warranty of 27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 28 GNU General Public License for more details. 29 30 You should have received a copy of the GNU General Public License 31 along with the LZO library; see the file COPYING. 32 If not, write to the Free Software Foundation, Inc., 33 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 34 35 Markus F.X.J. Oberhumer 36 <markus@oberhumer.com> 37 http://www.oberhumer.com/opensource/lzo/ 38 */ 39 40 41 #ifndef __LZODEFS_H_INCLUDED 42 #define __LZODEFS_H_INCLUDED 1 43 44 #if defined(__CYGWIN32__) && !defined(__CYGWIN__) 45 # define __CYGWIN__ __CYGWIN32__ 46 #endif 47 #if defined(__IBMCPP__) && !defined(__IBMC__) 48 # define __IBMC__ __IBMCPP__ 49 #endif 50 #if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER) 51 # define __INTEL_COMPILER __ICL 52 #endif 53 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) 54 # define _ALL_SOURCE 1 55 #endif 56 #if defined(__mips__) && defined(__R5900__) 57 # if !defined(__LONG_MAX__) 58 # define __LONG_MAX__ 9223372036854775807L 59 # endif 60 #endif 61 #if defined(__INTEL_COMPILER) && defined(__linux__) 62 # pragma warning(disable: 193) 63 #endif 64 #if defined(__KEIL__) && defined(__C166__) 65 # pragma warning disable = 322 66 #elif 0 && defined(__C251__) 67 # pragma warning disable = 322 68 #endif 69 #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) 70 # if (_MSC_VER >= 1300) 71 # pragma warning(disable: 4668) 72 # endif 73 #endif 74 #if 0 && defined(__WATCOMC__) 75 # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) 76 # pragma warning 203 9 77 # endif 78 #endif 79 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) 80 # pragma option -h 81 #endif 82 #if 0 83 #define LZO_0xffffL 0xfffful 84 #define LZO_0xffffffffL 0xfffffffful 85 #else 86 #define LZO_0xffffL 65535ul 87 #define LZO_0xffffffffL 4294967295ul 88 #endif 89 #if (LZO_0xffffL == LZO_0xffffffffL) 90 # error "your preprocessor is broken 1" 91 #endif 92 #if (16ul * 16384ul != 262144ul) 93 # error "your preprocessor is broken 2" 94 #endif 95 #if 0 96 #if (32767 >= 4294967295ul) 97 # error "your preprocessor is broken 3" 98 #endif 99 #if (65535u >= 4294967295ul) 100 # error "your preprocessor is broken 4" 101 #endif 102 #endif 103 #if (UINT_MAX == LZO_0xffffL) 104 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) 105 # if !defined(MSDOS) 106 # define MSDOS 1 107 # endif 108 # if !defined(_MSDOS) 109 # define _MSDOS 1 110 # endif 111 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) 112 # if (__VERSION == 520) && (MB_LEN_MAX == 1) 113 # if !defined(__AZTEC_C__) 114 # define __AZTEC_C__ __VERSION 115 # endif 116 # if !defined(__DOS__) 117 # define __DOS__ 1 118 # endif 119 # endif 120 #endif 121 #endif 122 #if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) 123 # define ptrdiff_t long 124 # define _PTRDIFF_T_DEFINED 125 #endif 126 #if (UINT_MAX == LZO_0xffffL) 127 # undef __LZO_RENAME_A 128 # undef __LZO_RENAME_B 129 # if defined(__AZTEC_C__) && defined(__DOS__) 130 # define __LZO_RENAME_A 1 131 # elif defined(_MSC_VER) && defined(MSDOS) 132 # if (_MSC_VER < 600) 133 # define __LZO_RENAME_A 1 134 # elif (_MSC_VER < 700) 135 # define __LZO_RENAME_B 1 136 # endif 137 # elif defined(__TSC__) && defined(__OS2__) 138 # define __LZO_RENAME_A 1 139 # elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) 140 # define __LZO_RENAME_A 1 141 # elif defined(__PACIFIC__) && defined(DOS) 142 # if !defined(__far) 143 # define __far far 144 # endif 145 # if !defined(__near) 146 # define __near near 147 # endif 148 # endif 149 # if defined(__LZO_RENAME_A) 150 # if !defined(__cdecl) 151 # define __cdecl cdecl 152 # endif 153 # if !defined(__far) 154 # define __far far 155 # endif 156 # if !defined(__huge) 157 # define __huge huge 158 # endif 159 # if !defined(__near) 160 # define __near near 161 # endif 162 # if !defined(__pascal) 163 # define __pascal pascal 164 # endif 165 # if !defined(__huge) 166 # define __huge huge 167 # endif 168 # elif defined(__LZO_RENAME_B) 169 # if !defined(__cdecl) 170 # define __cdecl _cdecl 171 # endif 172 # if !defined(__far) 173 # define __far _far 174 # endif 175 # if !defined(__huge) 176 # define __huge _huge 177 # endif 178 # if !defined(__near) 179 # define __near _near 180 # endif 181 # if !defined(__pascal) 182 # define __pascal _pascal 183 # endif 184 # elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 185 # if !defined(__cdecl) 186 # define __cdecl cdecl 187 # endif 188 # if !defined(__pascal) 189 # define __pascal pascal 190 # endif 191 # endif 192 # undef __LZO_RENAME_A 193 # undef __LZO_RENAME_B 194 #endif 195 #if (UINT_MAX == LZO_0xffffL) 196 #if defined(__AZTEC_C__) && defined(__DOS__) 197 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 198 #elif defined(_MSC_VER) && defined(MSDOS) 199 # if (_MSC_VER < 600) 200 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 201 # endif 202 # if (_MSC_VER < 700) 203 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 204 # define LZO_BROKEN_SIZEOF 1 205 # endif 206 #elif defined(__PACIFIC__) && defined(DOS) 207 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 208 #elif defined(__TURBOC__) && defined(__MSDOS__) 209 # if (__TURBOC__ < 0x0150) 210 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 211 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 212 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 213 # endif 214 # if (__TURBOC__ < 0x0200) 215 # define LZO_BROKEN_SIZEOF 1 216 # endif 217 # if (__TURBOC__ < 0x0400) && defined(__cplusplus) 218 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 219 # endif 220 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 221 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 222 # define LZO_BROKEN_SIZEOF 1 223 #endif 224 #endif 225 #if defined(__WATCOMC__) && (__WATCOMC__ < 900) 226 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 227 #endif 228 #if defined(_CRAY) && defined(_CRAY1) 229 # define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 230 #endif 231 #define LZO_PP_STRINGIZE(x) #x 232 #define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) 233 #define LZO_PP_CONCAT2(a,b) a ## b 234 #define LZO_PP_CONCAT3(a,b,c) a ## b ## c 235 #define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d 236 #define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 237 #define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) 238 #define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) 239 #define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) 240 #define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) 241 #if 1 242 #define LZO_CPP_STRINGIZE(x) #x 243 #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) 244 #define LZO_CPP_CONCAT2(a,b) a ## b 245 #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c 246 #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d 247 #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 248 #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) 249 #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) 250 #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) 251 #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) 252 #endif 253 #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o)) 254 #if 1 && defined(__cplusplus) 255 # if !defined(__STDC_CONSTANT_MACROS) 256 # define __STDC_CONSTANT_MACROS 1 257 # endif 258 # if !defined(__STDC_LIMIT_MACROS) 259 # define __STDC_LIMIT_MACROS 1 260 # endif 261 #endif 262 #if defined(__cplusplus) 263 # define LZO_EXTERN_C extern "C" 264 #else 265 # define LZO_EXTERN_C extern 266 #endif 267 #if !defined(__LZO_OS_OVERRIDE) 268 #if defined(LZO_OS_FREESTANDING) 269 # define LZO_INFO_OS "freestanding" 270 #elif defined(LZO_OS_EMBEDDED) 271 # define LZO_INFO_OS "embedded" 272 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 273 # define LZO_OS_EMBEDDED 1 274 # define LZO_INFO_OS "embedded" 275 #elif defined(__CYGWIN__) && defined(__GNUC__) 276 # define LZO_OS_CYGWIN 1 277 # define LZO_INFO_OS "cygwin" 278 #elif defined(__EMX__) && defined(__GNUC__) 279 # define LZO_OS_EMX 1 280 # define LZO_INFO_OS "emx" 281 #elif defined(__BEOS__) 282 # define LZO_OS_BEOS 1 283 # define LZO_INFO_OS "beos" 284 #elif defined(__Lynx__) 285 # define LZO_OS_LYNXOS 1 286 # define LZO_INFO_OS "lynxos" 287 #elif defined(__OS400__) 288 # define LZO_OS_OS400 1 289 # define LZO_INFO_OS "os400" 290 #elif defined(__QNX__) 291 # define LZO_OS_QNX 1 292 # define LZO_INFO_OS "qnx" 293 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) 294 # define LZO_OS_DOS32 1 295 # define LZO_INFO_OS "dos32" 296 #elif defined(__BORLANDC__) && defined(__DPMI16__) 297 # define LZO_OS_DOS16 1 298 # define LZO_INFO_OS "dos16" 299 #elif defined(__ZTC__) && defined(DOS386) 300 # define LZO_OS_DOS32 1 301 # define LZO_INFO_OS "dos32" 302 #elif defined(__OS2__) || defined(__OS2V2__) 303 # if (UINT_MAX == LZO_0xffffL) 304 # define LZO_OS_OS216 1 305 # define LZO_INFO_OS "os216" 306 # elif (UINT_MAX == LZO_0xffffffffL) 307 # define LZO_OS_OS2 1 308 # define LZO_INFO_OS "os2" 309 # else 310 # error "check your limits.h header" 311 # endif 312 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) 313 # define LZO_OS_WIN64 1 314 # define LZO_INFO_OS "win64" 315 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) 316 # define LZO_OS_WIN32 1 317 # define LZO_INFO_OS "win32" 318 #elif defined(__MWERKS__) && defined(__INTEL__) 319 # define LZO_OS_WIN32 1 320 # define LZO_INFO_OS "win32" 321 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) 322 # if (UINT_MAX == LZO_0xffffL) 323 # define LZO_OS_WIN16 1 324 # define LZO_INFO_OS "win16" 325 # elif (UINT_MAX == LZO_0xffffffffL) 326 # define LZO_OS_WIN32 1 327 # define LZO_INFO_OS "win32" 328 # else 329 # error "check your limits.h header" 330 # endif 331 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) 332 # if (UINT_MAX == LZO_0xffffL) 333 # define LZO_OS_DOS16 1 334 # define LZO_INFO_OS "dos16" 335 # elif (UINT_MAX == LZO_0xffffffffL) 336 # define LZO_OS_DOS32 1 337 # define LZO_INFO_OS "dos32" 338 # else 339 # error "check your limits.h header" 340 # endif 341 #elif defined(__WATCOMC__) 342 # if defined(__NT__) && (UINT_MAX == LZO_0xffffL) 343 # define LZO_OS_DOS16 1 344 # define LZO_INFO_OS "dos16" 345 # elif defined(__NT__) && (__WATCOMC__ < 1100) 346 # define LZO_OS_WIN32 1 347 # define LZO_INFO_OS "win32" 348 # elif defined(__linux__) || defined(__LINUX__) 349 # define LZO_OS_POSIX 1 350 # define LZO_INFO_OS "posix" 351 # else 352 # error "please specify a target using the -bt compiler option" 353 # endif 354 #elif defined(__palmos__) 355 # define LZO_OS_PALMOS 1 356 # define LZO_INFO_OS "palmos" 357 #elif defined(__TOS__) || defined(__atarist__) 358 # define LZO_OS_TOS 1 359 # define LZO_INFO_OS "tos" 360 #elif defined(macintosh) && !defined(__ppc__) 361 # define LZO_OS_MACCLASSIC 1 362 # define LZO_INFO_OS "macclassic" 363 #elif defined(__VMS) 364 # define LZO_OS_VMS 1 365 # define LZO_INFO_OS "vms" 366 #elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 367 # define LZO_OS_CONSOLE 1 368 # define LZO_OS_CONSOLE_PS2 1 369 # define LZO_INFO_OS "console" 370 # define LZO_INFO_OS_CONSOLE "ps2" 371 #elif (defined(__mips__) && defined(__psp__)) 372 # define LZO_OS_CONSOLE 1 373 # define LZO_OS_CONSOLE_PSP 1 374 # define LZO_INFO_OS "console" 375 # define LZO_INFO_OS_CONSOLE "psp" 376 #else 377 # define LZO_OS_POSIX 1 378 # define LZO_INFO_OS "posix" 379 #endif 380 #if (LZO_OS_POSIX) 381 # if defined(_AIX) || defined(__AIX__) || defined(__aix__) 382 # define LZO_OS_POSIX_AIX 1 383 # define LZO_INFO_OS_POSIX "aix" 384 # elif defined(__DragonFly__) 385 # define LZO_OS_POSIX_FREEBSD 1 386 # define LZO_INFO_OS_POSIX "freebsd" 387 # elif defined(__hpux__) || defined(__hpux) 388 # define LZO_OS_POSIX_HPUX 1 389 # define LZO_INFO_OS_POSIX "hpux" 390 # elif defined(__INTERIX) 391 # define LZO_OS_POSIX_INTERIX 1 392 # define LZO_INFO_OS_POSIX "interix" 393 # elif defined(__IRIX__) || defined(__irix__) 394 # define LZO_OS_POSIX_IRIX 1 395 # define LZO_INFO_OS_POSIX "irix" 396 # elif defined(__linux__) || defined(__linux) || defined(__LINUX__) 397 # define LZO_OS_POSIX_LINUX 1 398 # define LZO_INFO_OS_POSIX "linux" 399 # elif defined(__APPLE__) || defined(__MACOS__) 400 # define LZO_OS_POSIX_MACOSX 1 401 # define LZO_INFO_OS_POSIX "macosx" 402 # elif defined(__minix__) || defined(__minix) 403 # define LZO_OS_POSIX_MINIX 1 404 # define LZO_INFO_OS_POSIX "minix" 405 # elif defined(__NetBSD__) 406 # define LZO_OS_POSIX_NETBSD 1 407 # define LZO_INFO_OS_POSIX "netbsd" 408 # elif defined(__OpenBSD__) 409 # define LZO_OS_POSIX_OPENBSD 1 410 # define LZO_INFO_OS_POSIX "openbsd" 411 # elif defined(__osf__) 412 # define LZO_OS_POSIX_OSF 1 413 # define LZO_INFO_OS_POSIX "osf" 414 # elif defined(__solaris__) || defined(__sun) 415 # if defined(__SVR4) || defined(__svr4__) 416 # define LZO_OS_POSIX_SOLARIS 1 417 # define LZO_INFO_OS_POSIX "solaris" 418 # else 419 # define LZO_OS_POSIX_SUNOS 1 420 # define LZO_INFO_OS_POSIX "sunos" 421 # endif 422 # elif defined(__ultrix__) || defined(__ultrix) 423 # define LZO_OS_POSIX_ULTRIX 1 424 # define LZO_INFO_OS_POSIX "ultrix" 425 # elif defined(_UNICOS) 426 # define LZO_OS_POSIX_UNICOS 1 427 # define LZO_INFO_OS_POSIX "unicos" 428 # else 429 # define LZO_OS_POSIX_UNKNOWN 1 430 # define LZO_INFO_OS_POSIX "unknown" 431 # endif 432 #endif 433 #endif 434 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 435 # if (UINT_MAX != LZO_0xffffL) 436 # error "this should not happen" 437 # endif 438 # if (ULONG_MAX != LZO_0xffffffffL) 439 # error "this should not happen" 440 # endif 441 #endif 442 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) 443 # if (UINT_MAX != LZO_0xffffffffL) 444 # error "this should not happen" 445 # endif 446 # if (ULONG_MAX != LZO_0xffffffffL) 447 # error "this should not happen" 448 # endif 449 #endif 450 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) 451 # define LZO_CC_CILLY 1 452 # define LZO_INFO_CC "Cilly" 453 # if defined(__CILLY__) 454 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) 455 # else 456 # define LZO_INFO_CCVER "unknown" 457 # endif 458 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) 459 # define LZO_CC_SDCC 1 460 # define LZO_INFO_CC "sdcc" 461 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) 462 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) 463 # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__) 464 # define LZO_INFO_CC "Pathscale C" 465 # define LZO_INFO_CCVER __PATHSCALE__ 466 #elif defined(__INTEL_COMPILER) 467 # define LZO_CC_INTELC 1 468 # define LZO_INFO_CC "Intel C" 469 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) 470 # if defined(_WIN32) || defined(_WIN64) 471 # define LZO_CC_SYNTAX_MSC 1 472 # else 473 # define LZO_CC_SYNTAX_GNUC 1 474 # endif 475 #elif defined(__POCC__) && defined(_WIN32) 476 # define LZO_CC_PELLESC 1 477 # define LZO_INFO_CC "Pelles C" 478 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) 479 #elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__) 480 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 481 # define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 482 # else 483 # define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 484 # endif 485 # define LZO_INFO_CC "llvm-gcc" 486 # define LZO_INFO_CCVER __VERSION__ 487 #elif defined(__GNUC__) && defined(__VERSION__) 488 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 489 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__) 490 # elif defined(__GNUC_MINOR__) 491 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) 492 # else 493 # define LZO_CC_GNUC (__GNUC__ * 0x10000L) 494 # endif 495 # define LZO_INFO_CC "gcc" 496 # define LZO_INFO_CCVER __VERSION__ 497 #elif defined(__ACK__) && defined(_ACK) 498 # define LZO_CC_ACK 1 499 # define LZO_INFO_CC "Amsterdam Compiler Kit C" 500 # define LZO_INFO_CCVER "unknown" 501 #elif defined(__AZTEC_C__) 502 # define LZO_CC_AZTECC 1 503 # define LZO_INFO_CC "Aztec C" 504 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) 505 #elif defined(__BORLANDC__) 506 # define LZO_CC_BORLANDC 1 507 # define LZO_INFO_CC "Borland C" 508 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) 509 #elif defined(_CRAYC) && defined(_RELEASE) 510 # define LZO_CC_CRAYC 1 511 # define LZO_INFO_CC "Cray C" 512 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) 513 #elif defined(__DMC__) && defined(__SC__) 514 # define LZO_CC_DMC 1 515 # define LZO_INFO_CC "Digital Mars C" 516 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) 517 #elif defined(__DECC) 518 # define LZO_CC_DECC 1 519 # define LZO_INFO_CC "DEC C" 520 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) 521 #elif defined(__HIGHC__) 522 # define LZO_CC_HIGHC 1 523 # define LZO_INFO_CC "MetaWare High C" 524 # define LZO_INFO_CCVER "unknown" 525 #elif defined(__IAR_SYSTEMS_ICC__) 526 # define LZO_CC_IARC 1 527 # define LZO_INFO_CC "IAR C" 528 # if defined(__VER__) 529 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) 530 # else 531 # define LZO_INFO_CCVER "unknown" 532 # endif 533 #elif defined(__IBMC__) 534 # define LZO_CC_IBMC 1 535 # define LZO_INFO_CC "IBM C" 536 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) 537 #elif defined(__KEIL__) && defined(__C166__) 538 # define LZO_CC_KEILC 1 539 # define LZO_INFO_CC "Keil C" 540 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) 541 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) 542 # define LZO_CC_LCCWIN32 1 543 # define LZO_INFO_CC "lcc-win32" 544 # define LZO_INFO_CCVER "unknown" 545 #elif defined(__LCC__) 546 # define LZO_CC_LCC 1 547 # define LZO_INFO_CC "lcc" 548 # if defined(__LCC_VERSION__) 549 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) 550 # else 551 # define LZO_INFO_CCVER "unknown" 552 # endif 553 #elif defined(_MSC_VER) 554 # define LZO_CC_MSC 1 555 # define LZO_INFO_CC "Microsoft C" 556 # if defined(_MSC_FULL_VER) 557 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) 558 # else 559 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) 560 # endif 561 #elif defined(__MWERKS__) 562 # define LZO_CC_MWERKS 1 563 # define LZO_INFO_CC "Metrowerks C" 564 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) 565 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) 566 # define LZO_CC_NDPC 1 567 # define LZO_INFO_CC "Microway NDP C" 568 # define LZO_INFO_CCVER "unknown" 569 #elif defined(__PACIFIC__) 570 # define LZO_CC_PACIFICC 1 571 # define LZO_INFO_CC "Pacific C" 572 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) 573 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) 574 # define LZO_CC_PGI 1 575 # define LZO_INFO_CC "Portland Group PGI C" 576 # define LZO_INFO_CCVER "unknown" 577 #elif defined(__PUREC__) && defined(__TOS__) 578 # define LZO_CC_PUREC 1 579 # define LZO_INFO_CC "Pure C" 580 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) 581 #elif defined(__SC__) && defined(__ZTC__) 582 # define LZO_CC_SYMANTECC 1 583 # define LZO_INFO_CC "Symantec C" 584 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) 585 #elif defined(__SUNPRO_C) 586 # define LZO_INFO_CC "SunPro C" 587 # if ((__SUNPRO_C)+0 > 0) 588 # define LZO_CC_SUNPROC __SUNPRO_C 589 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) 590 # else 591 # define LZO_CC_SUNPROC 1 592 # define LZO_INFO_CCVER "unknown" 593 # endif 594 #elif defined(__SUNPRO_CC) 595 # define LZO_INFO_CC "SunPro C" 596 # if ((__SUNPRO_CC)+0 > 0) 597 # define LZO_CC_SUNPROC __SUNPRO_CC 598 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) 599 # else 600 # define LZO_CC_SUNPROC 1 601 # define LZO_INFO_CCVER "unknown" 602 # endif 603 #elif defined(__TINYC__) 604 # define LZO_CC_TINYC 1 605 # define LZO_INFO_CC "Tiny C" 606 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) 607 #elif defined(__TSC__) 608 # define LZO_CC_TOPSPEEDC 1 609 # define LZO_INFO_CC "TopSpeed C" 610 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) 611 #elif defined(__WATCOMC__) 612 # define LZO_CC_WATCOMC 1 613 # define LZO_INFO_CC "Watcom C" 614 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) 615 #elif defined(__TURBOC__) 616 # define LZO_CC_TURBOC 1 617 # define LZO_INFO_CC "Turbo C" 618 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) 619 #elif defined(__ZTC__) 620 # define LZO_CC_ZORTECHC 1 621 # define LZO_INFO_CC "Zortech C" 622 # if (__ZTC__ == 0x310) 623 # define LZO_INFO_CCVER "0x310" 624 # else 625 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) 626 # endif 627 #else 628 # define LZO_CC_UNKNOWN 1 629 # define LZO_INFO_CC "unknown" 630 # define LZO_INFO_CCVER "unknown" 631 #endif 632 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) 633 # error "LZO_CC_MSC: _MSC_FULL_VER is not defined" 634 #endif 635 #if !defined(__LZO_ARCH_OVERRIDE) && !defined(LZO_ARCH_GENERIC) && defined(_CRAY) 636 # if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) 637 # if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) 638 # define LZO_ARCH_CRAY_MPP 1 639 # elif defined(_CRAY1) 640 # define LZO_ARCH_CRAY_PVP 1 641 # endif 642 # endif 643 #endif 644 #if !defined(__LZO_ARCH_OVERRIDE) 645 #if defined(LZO_ARCH_GENERIC) 646 # define LZO_INFO_ARCH "generic" 647 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 648 # define LZO_ARCH_I086 1 649 # define LZO_ARCH_IA16 1 650 # define LZO_INFO_ARCH "i086" 651 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) 652 # define LZO_ARCH_ALPHA 1 653 # define LZO_INFO_ARCH "alpha" 654 #elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) 655 # define LZO_ARCH_ALPHA 1 656 # define LZO_INFO_ARCH "alpha" 657 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) 658 # define LZO_ARCH_AMD64 1 659 # define LZO_INFO_ARCH "amd64" 660 #elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) 661 # define LZO_ARCH_ARM 1 662 # define LZO_ARCH_ARM_THUMB 1 663 # define LZO_INFO_ARCH "arm_thumb" 664 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) 665 # define LZO_ARCH_ARM 1 666 # if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1) 667 # define LZO_ARCH_ARM_THUMB 1 668 # define LZO_INFO_ARCH "arm_thumb" 669 # elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2) 670 # define LZO_INFO_ARCH "arm" 671 # else 672 # define LZO_INFO_ARCH "arm" 673 # endif 674 #elif defined(__arm__) || defined(_M_ARM) 675 # define LZO_ARCH_ARM 1 676 # define LZO_INFO_ARCH "arm" 677 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) 678 # define LZO_ARCH_AVR 1 679 # define LZO_INFO_ARCH "avr" 680 #elif defined(__bfin__) 681 # define LZO_ARCH_BLACKFIN 1 682 # define LZO_INFO_ARCH "blackfin" 683 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) 684 # define LZO_ARCH_C166 1 685 # define LZO_INFO_ARCH "c166" 686 #elif defined(__cris__) 687 # define LZO_ARCH_CRIS 1 688 # define LZO_INFO_ARCH "cris" 689 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) 690 # define LZO_ARCH_EZ80 1 691 # define LZO_INFO_ARCH "ez80" 692 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 693 # define LZO_ARCH_H8300 1 694 # define LZO_INFO_ARCH "h8300" 695 #elif defined(__hppa__) || defined(__hppa) 696 # define LZO_ARCH_HPPA 1 697 # define LZO_INFO_ARCH "hppa" 698 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) 699 # define LZO_ARCH_I386 1 700 # define LZO_ARCH_IA32 1 701 # define LZO_INFO_ARCH "i386" 702 #elif (LZO_CC_ZORTECHC && defined(__I86__)) 703 # define LZO_ARCH_I386 1 704 # define LZO_ARCH_IA32 1 705 # define LZO_INFO_ARCH "i386" 706 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) 707 # define LZO_ARCH_I386 1 708 # define LZO_ARCH_IA32 1 709 # define LZO_INFO_ARCH "i386" 710 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) 711 # define LZO_ARCH_IA64 1 712 # define LZO_INFO_ARCH "ia64" 713 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) 714 # define LZO_ARCH_M16C 1 715 # define LZO_INFO_ARCH "m16c" 716 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) 717 # define LZO_ARCH_M16C 1 718 # define LZO_INFO_ARCH "m16c" 719 #elif defined(__m32r__) 720 # define LZO_ARCH_M32R 1 721 # define LZO_INFO_ARCH "m32r" 722 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) 723 # define LZO_ARCH_M68K 1 724 # define LZO_INFO_ARCH "m68k" 725 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) 726 # define LZO_ARCH_MCS251 1 727 # define LZO_INFO_ARCH "mcs251" 728 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) 729 # define LZO_ARCH_MCS51 1 730 # define LZO_INFO_ARCH "mcs51" 731 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) 732 # define LZO_ARCH_MCS51 1 733 # define LZO_INFO_ARCH "mcs51" 734 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) 735 # define LZO_ARCH_MIPS 1 736 # define LZO_INFO_ARCH "mips" 737 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) 738 # define LZO_ARCH_MSP430 1 739 # define LZO_INFO_ARCH "msp430" 740 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) 741 # define LZO_ARCH_MSP430 1 742 # define LZO_INFO_ARCH "msp430" 743 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) 744 # define LZO_ARCH_POWERPC 1 745 # define LZO_INFO_ARCH "powerpc" 746 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) 747 # define LZO_ARCH_S390 1 748 # define LZO_INFO_ARCH "s390" 749 #elif defined(__sh__) || defined(_M_SH) 750 # define LZO_ARCH_SH 1 751 # define LZO_INFO_ARCH "sh" 752 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) 753 # define LZO_ARCH_SPARC 1 754 # define LZO_INFO_ARCH "sparc" 755 #elif defined(__SPU__) 756 # define LZO_ARCH_SPU 1 757 # define LZO_INFO_ARCH "spu" 758 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80) 759 # define LZO_ARCH_Z80 1 760 # define LZO_INFO_ARCH "z80" 761 #elif (LZO_ARCH_CRAY_PVP) 762 # if defined(_CRAYSV1) 763 # define LZO_ARCH_CRAY_SV1 1 764 # define LZO_INFO_ARCH "cray_sv1" 765 # elif (_ADDR64) 766 # define LZO_ARCH_CRAY_T90 1 767 # define LZO_INFO_ARCH "cray_t90" 768 # elif (_ADDR32) 769 # define LZO_ARCH_CRAY_YMP 1 770 # define LZO_INFO_ARCH "cray_ymp" 771 # else 772 # define LZO_ARCH_CRAY_XMP 1 773 # define LZO_INFO_ARCH "cray_xmp" 774 # endif 775 #else 776 # define LZO_ARCH_UNKNOWN 1 777 # define LZO_INFO_ARCH "unknown" 778 #endif 779 #endif 780 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) 781 # error "FIXME - missing define for CPU architecture" 782 #endif 783 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) 784 # error "FIXME - missing WIN32 define for CPU architecture" 785 #endif 786 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) 787 # error "FIXME - missing WIN64 define for CPU architecture" 788 #endif 789 #if (LZO_OS_OS216 || LZO_OS_WIN16) 790 # define LZO_ARCH_I086PM 1 791 # define LZO_ARCH_IA16PM 1 792 #elif 1 && (LZO_OS_DOS16 && defined(BLX286)) 793 # define LZO_ARCH_I086PM 1 794 # define LZO_ARCH_IA16PM 1 795 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) 796 # define LZO_ARCH_I086PM 1 797 # define LZO_ARCH_IA16PM 1 798 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) 799 # define LZO_ARCH_I086PM 1 800 # define LZO_ARCH_IA16PM 1 801 #endif 802 #if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM) 803 # error "this should not happen" 804 #endif 805 #if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086) 806 # error "this should not happen" 807 #endif 808 #if (LZO_ARCH_I086) 809 # if (UINT_MAX != LZO_0xffffL) 810 # error "this should not happen" 811 # endif 812 # if (ULONG_MAX != LZO_0xffffffffL) 813 # error "this should not happen" 814 # endif 815 #endif 816 #if (LZO_ARCH_I386) 817 # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) 818 # error "this should not happen" 819 # endif 820 # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) 821 # error "this should not happen" 822 # endif 823 # if (ULONG_MAX != LZO_0xffffffffL) 824 # error "this should not happen" 825 # endif 826 #endif 827 #if !defined(__LZO_MM_OVERRIDE) 828 #if (LZO_ARCH_I086) 829 #if (UINT_MAX != LZO_0xffffL) 830 # error "this should not happen" 831 #endif 832 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) 833 # define LZO_MM_TINY 1 834 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) 835 # define LZO_MM_HUGE 1 836 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) 837 # define LZO_MM_SMALL 1 838 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) 839 # define LZO_MM_MEDIUM 1 840 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) 841 # define LZO_MM_COMPACT 1 842 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) 843 # define LZO_MM_LARGE 1 844 #elif (LZO_CC_AZTECC) 845 # if defined(_LARGE_CODE) && defined(_LARGE_DATA) 846 # define LZO_MM_LARGE 1 847 # elif defined(_LARGE_CODE) 848 # define LZO_MM_MEDIUM 1 849 # elif defined(_LARGE_DATA) 850 # define LZO_MM_COMPACT 1 851 # else 852 # define LZO_MM_SMALL 1 853 # endif 854 #elif (LZO_CC_ZORTECHC && defined(__VCM__)) 855 # define LZO_MM_LARGE 1 856 #else 857 # error "unknown memory model" 858 #endif 859 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 860 #define LZO_HAVE_MM_HUGE_PTR 1 861 #define LZO_HAVE_MM_HUGE_ARRAY 1 862 #if (LZO_MM_TINY) 863 # undef LZO_HAVE_MM_HUGE_ARRAY 864 #endif 865 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) 866 # undef LZO_HAVE_MM_HUGE_PTR 867 # undef LZO_HAVE_MM_HUGE_ARRAY 868 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 869 # undef LZO_HAVE_MM_HUGE_ARRAY 870 #elif (LZO_CC_MSC && defined(_QC)) 871 # undef LZO_HAVE_MM_HUGE_ARRAY 872 # if (_MSC_VER < 600) 873 # undef LZO_HAVE_MM_HUGE_PTR 874 # endif 875 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) 876 # undef LZO_HAVE_MM_HUGE_ARRAY 877 #endif 878 #if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR) 879 # if (LZO_OS_DOS16) 880 # error "this should not happen" 881 # elif (LZO_CC_ZORTECHC) 882 # else 883 # error "this should not happen" 884 # endif 885 #endif 886 #ifdef __cplusplus 887 extern "C" { 888 #endif 889 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) 890 extern void __near __cdecl _AHSHIFT(void); 891 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 892 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 893 extern void __near __cdecl _AHSHIFT(void); 894 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 895 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) 896 extern void __near __cdecl _AHSHIFT(void); 897 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 898 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) 899 extern void __near __cdecl _AHSHIFT(void); 900 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 901 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) 902 # define LZO_MM_AHSHIFT 12 903 #elif (LZO_CC_WATCOMC) 904 extern unsigned char _HShift; 905 # define LZO_MM_AHSHIFT ((unsigned) _HShift) 906 #else 907 # error "FIXME - implement LZO_MM_AHSHIFT" 908 #endif 909 #ifdef __cplusplus 910 } 911 #endif 912 #endif 913 #elif (LZO_ARCH_C166) 914 #if !defined(__MODEL__) 915 # error "FIXME - C166 __MODEL__" 916 #elif ((__MODEL__) == 0) 917 # define LZO_MM_SMALL 1 918 #elif ((__MODEL__) == 1) 919 # define LZO_MM_SMALL 1 920 #elif ((__MODEL__) == 2) 921 # define LZO_MM_LARGE 1 922 #elif ((__MODEL__) == 3) 923 # define LZO_MM_TINY 1 924 #elif ((__MODEL__) == 4) 925 # define LZO_MM_XTINY 1 926 #elif ((__MODEL__) == 5) 927 # define LZO_MM_XSMALL 1 928 #else 929 # error "FIXME - C166 __MODEL__" 930 #endif 931 #elif (LZO_ARCH_MCS251) 932 #if !defined(__MODEL__) 933 # error "FIXME - MCS251 __MODEL__" 934 #elif ((__MODEL__) == 0) 935 # define LZO_MM_SMALL 1 936 #elif ((__MODEL__) == 2) 937 # define LZO_MM_LARGE 1 938 #elif ((__MODEL__) == 3) 939 # define LZO_MM_TINY 1 940 #elif ((__MODEL__) == 4) 941 # define LZO_MM_XTINY 1 942 #elif ((__MODEL__) == 5) 943 # define LZO_MM_XSMALL 1 944 #else 945 # error "FIXME - MCS251 __MODEL__" 946 #endif 947 #elif (LZO_ARCH_MCS51) 948 #if !defined(__MODEL__) 949 # error "FIXME - MCS51 __MODEL__" 950 #elif ((__MODEL__) == 1) 951 # define LZO_MM_SMALL 1 952 #elif ((__MODEL__) == 2) 953 # define LZO_MM_LARGE 1 954 #elif ((__MODEL__) == 3) 955 # define LZO_MM_TINY 1 956 #elif ((__MODEL__) == 4) 957 # define LZO_MM_XTINY 1 958 #elif ((__MODEL__) == 5) 959 # define LZO_MM_XSMALL 1 960 #else 961 # error "FIXME - MCS51 __MODEL__" 962 #endif 963 #elif (LZO_ARCH_CRAY_PVP) 964 # define LZO_MM_PVP 1 965 #else 966 # define LZO_MM_FLAT 1 967 #endif 968 #if (LZO_MM_COMPACT) 969 # define LZO_INFO_MM "compact" 970 #elif (LZO_MM_FLAT) 971 # define LZO_INFO_MM "flat" 972 #elif (LZO_MM_HUGE) 973 # define LZO_INFO_MM "huge" 974 #elif (LZO_MM_LARGE) 975 # define LZO_INFO_MM "large" 976 #elif (LZO_MM_MEDIUM) 977 # define LZO_INFO_MM "medium" 978 #elif (LZO_MM_PVP) 979 # define LZO_INFO_MM "pvp" 980 #elif (LZO_MM_SMALL) 981 # define LZO_INFO_MM "small" 982 #elif (LZO_MM_TINY) 983 # define LZO_INFO_MM "tiny" 984 #else 985 # error "unknown memory model" 986 #endif 987 #endif 988 #if defined(SIZEOF_SHORT) 989 # define LZO_SIZEOF_SHORT (SIZEOF_SHORT) 990 #endif 991 #if defined(SIZEOF_INT) 992 # define LZO_SIZEOF_INT (SIZEOF_INT) 993 #endif 994 #if defined(SIZEOF_LONG) 995 # define LZO_SIZEOF_LONG (SIZEOF_LONG) 996 #endif 997 #if defined(SIZEOF_LONG_LONG) 998 # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) 999 #endif 1000 #if defined(SIZEOF___INT16) 1001 # define LZO_SIZEOF___INT16 (SIZEOF___INT16) 1002 #endif 1003 #if defined(SIZEOF___INT32) 1004 # define LZO_SIZEOF___INT32 (SIZEOF___INT32) 1005 #endif 1006 #if defined(SIZEOF___INT64) 1007 # define LZO_SIZEOF___INT64 (SIZEOF___INT64) 1008 #endif 1009 #if defined(SIZEOF_VOID_P) 1010 # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) 1011 #endif 1012 #if defined(SIZEOF_SIZE_T) 1013 # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) 1014 #endif 1015 #if defined(SIZEOF_PTRDIFF_T) 1016 # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) 1017 #endif 1018 #define __LZO_LSR(x,b) (((x)+0ul) >> (b)) 1019 #if !defined(LZO_SIZEOF_SHORT) 1020 # if (LZO_ARCH_CRAY_PVP) 1021 # define LZO_SIZEOF_SHORT 8 1022 # elif (USHRT_MAX == LZO_0xffffL) 1023 # define LZO_SIZEOF_SHORT 2 1024 # elif (__LZO_LSR(USHRT_MAX,7) == 1) 1025 # define LZO_SIZEOF_SHORT 1 1026 # elif (__LZO_LSR(USHRT_MAX,15) == 1) 1027 # define LZO_SIZEOF_SHORT 2 1028 # elif (__LZO_LSR(USHRT_MAX,31) == 1) 1029 # define LZO_SIZEOF_SHORT 4 1030 # elif (__LZO_LSR(USHRT_MAX,63) == 1) 1031 # define LZO_SIZEOF_SHORT 8 1032 # elif (__LZO_LSR(USHRT_MAX,127) == 1) 1033 # define LZO_SIZEOF_SHORT 16 1034 # else 1035 # error "LZO_SIZEOF_SHORT" 1036 # endif 1037 #endif 1038 #if !defined(LZO_SIZEOF_INT) 1039 # if (LZO_ARCH_CRAY_PVP) 1040 # define LZO_SIZEOF_INT 8 1041 # elif (UINT_MAX == LZO_0xffffL) 1042 # define LZO_SIZEOF_INT 2 1043 # elif (UINT_MAX == LZO_0xffffffffL) 1044 # define LZO_SIZEOF_INT 4 1045 # elif (__LZO_LSR(UINT_MAX,7) == 1) 1046 # define LZO_SIZEOF_INT 1 1047 # elif (__LZO_LSR(UINT_MAX,15) == 1) 1048 # define LZO_SIZEOF_INT 2 1049 # elif (__LZO_LSR(UINT_MAX,31) == 1) 1050 # define LZO_SIZEOF_INT 4 1051 # elif (__LZO_LSR(UINT_MAX,63) == 1) 1052 # define LZO_SIZEOF_INT 8 1053 # elif (__LZO_LSR(UINT_MAX,127) == 1) 1054 # define LZO_SIZEOF_INT 16 1055 # else 1056 # error "LZO_SIZEOF_INT" 1057 # endif 1058 #endif 1059 #if !defined(LZO_SIZEOF_LONG) 1060 # if (ULONG_MAX == LZO_0xffffffffL) 1061 # define LZO_SIZEOF_LONG 4 1062 # elif (__LZO_LSR(ULONG_MAX,7) == 1) 1063 # define LZO_SIZEOF_LONG 1 1064 # elif (__LZO_LSR(ULONG_MAX,15) == 1) 1065 # define LZO_SIZEOF_LONG 2 1066 # elif (__LZO_LSR(ULONG_MAX,31) == 1) 1067 # define LZO_SIZEOF_LONG 4 1068 # elif (__LZO_LSR(ULONG_MAX,63) == 1) 1069 # define LZO_SIZEOF_LONG 8 1070 # elif (__LZO_LSR(ULONG_MAX,127) == 1) 1071 # define LZO_SIZEOF_LONG 16 1072 # else 1073 # error "LZO_SIZEOF_LONG" 1074 # endif 1075 #endif 1076 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 1077 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 1078 # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) 1079 # if (LZO_CC_GNUC >= 0x030300ul) 1080 # if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0) 1081 # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG 1082 # elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) 1083 # define LZO_SIZEOF_LONG_LONG 4 1084 # endif 1085 # endif 1086 # endif 1087 #endif 1088 #endif 1089 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 1090 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 1091 #if (LZO_ARCH_I086 && LZO_CC_DMC) 1092 #elif (LZO_CC_CILLY) && defined(__GNUC__) 1093 # define LZO_SIZEOF_LONG_LONG 8 1094 #elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1095 # define LZO_SIZEOF_LONG_LONG 8 1096 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) 1097 # define LZO_SIZEOF_LONG_LONG 8 1098 #elif (LZO_OS_WIN64 || defined(_WIN64)) 1099 # define LZO_SIZEOF___INT64 8 1100 #elif (LZO_ARCH_I386 && (LZO_CC_DMC)) 1101 # define LZO_SIZEOF_LONG_LONG 8 1102 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) 1103 # define LZO_SIZEOF_LONG_LONG 8 1104 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) 1105 # define LZO_SIZEOF_LONG_LONG 8 1106 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) 1107 # define LZO_SIZEOF_LONG_LONG 8 1108 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) 1109 # define LZO_SIZEOF___INT64 8 1110 #elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) 1111 # define LZO_SIZEOF___INT64 8 1112 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) 1113 # define LZO_SIZEOF___INT64 8 1114 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) 1115 # define LZO_SIZEOF___INT64 8 1116 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64)) 1117 # define LZO_SIZEOF___INT64 8 1118 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 1119 # define LZO_SIZEOF_LONG_LONG 8 1120 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 1121 # define LZO_SIZEOF_LONG_LONG 8 1122 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) 1123 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 1124 # define LZO_SIZEOF_LONG_LONG 8 1125 #endif 1126 #endif 1127 #endif 1128 #if defined(__cplusplus) && defined(LZO_CC_GNUC) 1129 # if (LZO_CC_GNUC < 0x020800ul) 1130 # undef LZO_SIZEOF_LONG_LONG 1131 # endif 1132 #endif 1133 #if defined(LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG) 1134 # undef LZO_SIZEOF_LONG_LONG 1135 #endif 1136 #if !defined(LZO_SIZEOF_VOID_P) 1137 #if (LZO_ARCH_I086) 1138 # define __LZO_WORDSIZE 2 1139 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) 1140 # define LZO_SIZEOF_VOID_P 2 1141 # elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) 1142 # define LZO_SIZEOF_VOID_P 4 1143 # else 1144 # error "LZO_MM" 1145 # endif 1146 #elif (LZO_ARCH_AVR || LZO_ARCH_Z80) 1147 # define __LZO_WORDSIZE 1 1148 # define LZO_SIZEOF_VOID_P 2 1149 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) 1150 # define LZO_SIZEOF_VOID_P 2 1151 #elif (LZO_ARCH_H8300) 1152 # if defined(__NORMAL_MODE__) 1153 # define __LZO_WORDSIZE 4 1154 # define LZO_SIZEOF_VOID_P 2 1155 # elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 1156 # define __LZO_WORDSIZE 4 1157 # define LZO_SIZEOF_VOID_P 4 1158 # else 1159 # define __LZO_WORDSIZE 2 1160 # define LZO_SIZEOF_VOID_P 2 1161 # endif 1162 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) 1163 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT 1164 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT 1165 # endif 1166 #elif (LZO_ARCH_M16C) 1167 # define __LZO_WORDSIZE 2 1168 # if defined(__m32c_cpu__) || defined(__m32cm_cpu__) 1169 # define LZO_SIZEOF_VOID_P 4 1170 # else 1171 # define LZO_SIZEOF_VOID_P 2 1172 # endif 1173 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 1174 # define __LZO_WORDSIZE 8 1175 # define LZO_SIZEOF_VOID_P 4 1176 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) 1177 # define __LZO_WORDSIZE 8 1178 # define LZO_SIZEOF_VOID_P 8 1179 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 1180 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 1181 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1182 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1183 #elif (LZO_OS_OS400 || defined(__OS400__)) 1184 # define __LZO_WORDSIZE LZO_SIZEOF_LONG 1185 # define LZO_SIZEOF_VOID_P 16 1186 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1187 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1188 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 1189 # define LZO_SIZEOF_VOID_P 8 1190 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 1191 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 1192 #elif (LZO_ARCH_SPU) 1193 # if 0 1194 # define __LZO_WORDSIZE 16 1195 # endif 1196 # define LZO_SIZEOF_VOID_P 4 1197 #else 1198 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 1199 #endif 1200 #endif 1201 #if !defined(LZO_WORDSIZE) 1202 # if defined(__LZO_WORDSIZE) 1203 # define LZO_WORDSIZE __LZO_WORDSIZE 1204 # else 1205 # define LZO_WORDSIZE LZO_SIZEOF_VOID_P 1206 # endif 1207 #endif 1208 #if !defined(LZO_SIZEOF_SIZE_T) 1209 #if (LZO_ARCH_I086 || LZO_ARCH_M16C) 1210 # define LZO_SIZEOF_SIZE_T 2 1211 #else 1212 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P 1213 #endif 1214 #endif 1215 #if !defined(LZO_SIZEOF_PTRDIFF_T) 1216 #if (LZO_ARCH_I086) 1217 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) 1218 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P 1219 # elif (LZO_MM_COMPACT || LZO_MM_LARGE) 1220 # if (LZO_CC_BORLANDC || LZO_CC_TURBOC) 1221 # define LZO_SIZEOF_PTRDIFF_T 4 1222 # else 1223 # define LZO_SIZEOF_PTRDIFF_T 2 1224 # endif 1225 # else 1226 # error "LZO_MM" 1227 # endif 1228 #else 1229 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T 1230 #endif 1231 #endif 1232 #if defined(LZO_ABI_NEUTRAL_ENDIAN) 1233 # undef LZO_ABI_BIG_ENDIAN 1234 # undef LZO_ABI_LITTLE_ENDIAN 1235 #elif !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) 1236 #if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) 1237 # define LZO_ABI_BIG_ENDIAN 1 1238 #elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) 1239 # define LZO_ABI_LITTLE_ENDIAN 1 1240 #elif (LZO_ARCH_M68K || LZO_ARCH_S390) 1241 # define LZO_ABI_BIG_ENDIAN 1 1242 #elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) 1243 # if (__LITTLE_ENDIAN__ == 1) 1244 # define LZO_ABI_LITTLE_ENDIAN 1 1245 # else 1246 # define LZO_ABI_BIG_ENDIAN 1 1247 # endif 1248 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 1249 # define LZO_ABI_BIG_ENDIAN 1 1250 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) 1251 # define LZO_ABI_LITTLE_ENDIAN 1 1252 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) 1253 # define LZO_ABI_BIG_ENDIAN 1 1254 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) 1255 # define LZO_ABI_LITTLE_ENDIAN 1 1256 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) 1257 # define LZO_ABI_BIG_ENDIAN 1 1258 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) 1259 # define LZO_ABI_LITTLE_ENDIAN 1 1260 #endif 1261 #endif 1262 #if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN) 1263 # error "this should not happen" 1264 #endif 1265 #if defined(LZO_ABI_BIG_ENDIAN) 1266 # define LZO_INFO_ABI_ENDIAN "be" 1267 #elif defined(LZO_ABI_LITTLE_ENDIAN) 1268 # define LZO_INFO_ABI_ENDIAN "le" 1269 #elif defined(LZO_ABI_NEUTRAL_ENDIAN) 1270 # define LZO_INFO_ABI_ENDIAN "neutral" 1271 #endif 1272 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 1273 # define LZO_ABI_I8LP16 1 1274 # define LZO_INFO_ABI_PM "i8lp16" 1275 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 1276 # define LZO_ABI_ILP16 1 1277 # define LZO_INFO_ABI_PM "ilp16" 1278 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 1279 # define LZO_ABI_ILP32 1 1280 # define LZO_INFO_ABI_PM "ilp32" 1281 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) 1282 # define LZO_ABI_LLP64 1 1283 # define LZO_INFO_ABI_PM "llp64" 1284 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 1285 # define LZO_ABI_LP64 1 1286 # define LZO_INFO_ABI_PM "lp64" 1287 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 1288 # define LZO_ABI_ILP64 1 1289 # define LZO_INFO_ABI_PM "ilp64" 1290 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) 1291 # define LZO_ABI_IP32L64 1 1292 # define LZO_INFO_ABI_PM "ip32l64" 1293 #endif 1294 #if !defined(__LZO_LIBC_OVERRIDE) 1295 #if defined(LZO_LIBC_NAKED) 1296 # define LZO_INFO_LIBC "naked" 1297 #elif defined(LZO_LIBC_FREESTANDING) 1298 # define LZO_INFO_LIBC "freestanding" 1299 #elif defined(LZO_LIBC_MOSTLY_FREESTANDING) 1300 # define LZO_INFO_LIBC "mfreestanding" 1301 #elif defined(LZO_LIBC_ISOC90) 1302 # define LZO_INFO_LIBC "isoc90" 1303 #elif defined(LZO_LIBC_ISOC99) 1304 # define LZO_INFO_LIBC "isoc99" 1305 #elif defined(__dietlibc__) 1306 # define LZO_LIBC_DIETLIBC 1 1307 # define LZO_INFO_LIBC "dietlibc" 1308 #elif defined(_NEWLIB_VERSION) 1309 # define LZO_LIBC_NEWLIB 1 1310 # define LZO_INFO_LIBC "newlib" 1311 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) 1312 # if defined(__UCLIBC_SUBLEVEL__) 1313 # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__) 1314 # else 1315 # define LZO_LIBC_UCLIBC 0x00090bL 1316 # endif 1317 # define LZO_INFO_LIBC "uclibc" 1318 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) 1319 # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100) 1320 # define LZO_INFO_LIBC "glibc" 1321 #elif (LZO_CC_MWERKS) && defined(__MSL__) 1322 # define LZO_LIBC_MSL __MSL__ 1323 # define LZO_INFO_LIBC "msl" 1324 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 1325 # define LZO_LIBC_ISOC90 1 1326 # define LZO_INFO_LIBC "isoc90" 1327 #else 1328 # define LZO_LIBC_DEFAULT 1 1329 # define LZO_INFO_LIBC "default" 1330 #endif 1331 #endif 1332 #if !defined(__lzo_gnuc_extension__) 1333 #if (LZO_CC_GNUC >= 0x020800ul) 1334 # define __lzo_gnuc_extension__ __extension__ 1335 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1336 # define __lzo_gnuc_extension__ __extension__ 1337 #else 1338 # define __lzo_gnuc_extension__ 1339 #endif 1340 #endif 1341 #if !defined(__lzo_ua_volatile) 1342 # define __lzo_ua_volatile volatile 1343 #endif 1344 #if !defined(__lzo_alignof) 1345 #if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1346 # define __lzo_alignof(e) __alignof__(e) 1347 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) 1348 # define __lzo_alignof(e) __alignof__(e) 1349 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1350 # define __lzo_alignof(e) __alignof(e) 1351 #endif 1352 #endif 1353 #if defined(__lzo_alignof) 1354 # define __lzo_HAVE_alignof 1 1355 #endif 1356 #if !defined(__lzo_constructor) 1357 #if (LZO_CC_GNUC >= 0x030400ul) 1358 # define __lzo_constructor __attribute__((__constructor__,__used__)) 1359 #elif (LZO_CC_GNUC >= 0x020700ul) 1360 # define __lzo_constructor __attribute__((__constructor__)) 1361 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1362 # define __lzo_constructor __attribute__((__constructor__)) 1363 #endif 1364 #endif 1365 #if defined(__lzo_constructor) 1366 # define __lzo_HAVE_constructor 1 1367 #endif 1368 #if !defined(__lzo_destructor) 1369 #if (LZO_CC_GNUC >= 0x030400ul) 1370 # define __lzo_destructor __attribute__((__destructor__,__used__)) 1371 #elif (LZO_CC_GNUC >= 0x020700ul) 1372 # define __lzo_destructor __attribute__((__destructor__)) 1373 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1374 # define __lzo_destructor __attribute__((__destructor__)) 1375 #endif 1376 #endif 1377 #if defined(__lzo_destructor) 1378 # define __lzo_HAVE_destructor 1 1379 #endif 1380 #if defined(__lzo_HAVE_destructor) && !defined(__lzo_HAVE_constructor) 1381 # error "this should not happen" 1382 #endif 1383 #if !defined(__lzo_inline) 1384 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) 1385 #elif defined(__cplusplus) 1386 # define __lzo_inline inline 1387 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) 1388 # define __lzo_inline __inline 1389 #elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1390 # define __lzo_inline __inline__ 1391 #elif (LZO_CC_DMC) 1392 # define __lzo_inline __inline 1393 #elif (LZO_CC_INTELC) 1394 # define __lzo_inline __inline 1395 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) 1396 # define __lzo_inline __inline 1397 #elif (LZO_CC_MSC && (_MSC_VER >= 900)) 1398 # define __lzo_inline __inline 1399 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 1400 # define __lzo_inline inline 1401 #endif 1402 #endif 1403 #if defined(__lzo_inline) 1404 # define __lzo_HAVE_inline 1 1405 #else 1406 # define __lzo_inline 1407 #endif 1408 #if !defined(__lzo_forceinline) 1409 #if (LZO_CC_GNUC >= 0x030200ul) 1410 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1411 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) 1412 # define __lzo_forceinline __forceinline 1413 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC) 1414 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1415 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1416 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1417 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1418 # define __lzo_forceinline __forceinline 1419 #endif 1420 #endif 1421 #if defined(__lzo_forceinline) 1422 # define __lzo_HAVE_forceinline 1 1423 #else 1424 # define __lzo_forceinline 1425 #endif 1426 #if !defined(__lzo_noinline) 1427 #if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) 1428 # define __lzo_noinline __attribute__((__noinline__,__used__)) 1429 #elif (LZO_CC_GNUC >= 0x030200ul) 1430 # define __lzo_noinline __attribute__((__noinline__)) 1431 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC) 1432 # define __lzo_noinline __declspec(noinline) 1433 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC) 1434 # define __lzo_noinline __attribute__((__noinline__)) 1435 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1436 # define __lzo_noinline __attribute__((__noinline__)) 1437 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1438 # define __lzo_noinline __declspec(noinline) 1439 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 1440 # if defined(__cplusplus) 1441 # else 1442 # define __lzo_noinline __declspec(noinline) 1443 # endif 1444 #endif 1445 #endif 1446 #if defined(__lzo_noinline) 1447 # define __lzo_HAVE_noinline 1 1448 #else 1449 # define __lzo_noinline 1450 #endif 1451 #if (defined(__lzo_HAVE_forceinline) || defined(__lzo_HAVE_noinline)) && !defined(__lzo_HAVE_inline) 1452 # error "this should not happen" 1453 #endif 1454 #if !defined(__lzo_noreturn) 1455 #if (LZO_CC_GNUC >= 0x020700ul) 1456 # define __lzo_noreturn __attribute__((__noreturn__)) 1457 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) 1458 # define __lzo_noreturn __declspec(noreturn) 1459 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC) 1460 # define __lzo_noreturn __attribute__((__noreturn__)) 1461 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1462 # define __lzo_noreturn __attribute__((__noreturn__)) 1463 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1464 # define __lzo_noreturn __declspec(noreturn) 1465 #endif 1466 #endif 1467 #if defined(__lzo_noreturn) 1468 # define __lzo_HAVE_noreturn 1 1469 #else 1470 # define __lzo_noreturn 1471 #endif 1472 #if !defined(__lzo_nothrow) 1473 #if (LZO_CC_GNUC >= 0x030300ul) 1474 # define __lzo_nothrow __attribute__((__nothrow__)) 1475 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus) 1476 # define __lzo_nothrow __declspec(nothrow) 1477 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC) 1478 # define __lzo_nothrow __attribute__((__nothrow__)) 1479 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1480 # define __lzo_nothrow __attribute__((__nothrow__)) 1481 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) 1482 # define __lzo_nothrow __declspec(nothrow) 1483 #endif 1484 #endif 1485 #if defined(__lzo_nothrow) 1486 # define __lzo_HAVE_nothrow 1 1487 #else 1488 # define __lzo_nothrow 1489 #endif 1490 #if !defined(__lzo_restrict) 1491 #if (LZO_CC_GNUC >= 0x030400ul) 1492 # define __lzo_restrict __restrict__ 1493 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC) 1494 # define __lzo_restrict __restrict__ 1495 #elif (LZO_CC_LLVM) 1496 # define __lzo_restrict __restrict__ 1497 #elif (LZO_CC_MSC && (_MSC_VER >= 1400)) 1498 # define __lzo_restrict __restrict 1499 #endif 1500 #endif 1501 #if defined(__lzo_restrict) 1502 # define __lzo_HAVE_restrict 1 1503 #else 1504 # define __lzo_restrict 1505 #endif 1506 #if !defined(__lzo_likely) && !defined(__lzo_unlikely) 1507 #if (LZO_CC_GNUC >= 0x030200ul) 1508 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1509 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1510 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 1511 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1512 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1513 #elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) 1514 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1515 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1516 #endif 1517 #endif 1518 #if defined(__lzo_likely) 1519 # define __lzo_HAVE_likely 1 1520 #else 1521 # define __lzo_likely(e) (e) 1522 #endif 1523 #if defined(__lzo_unlikely) 1524 # define __lzo_HAVE_unlikely 1 1525 #else 1526 # define __lzo_unlikely(e) (e) 1527 #endif 1528 #if !defined(LZO_UNUSED) 1529 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1530 # define LZO_UNUSED(var) ((void) &var) 1531 # elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) 1532 # define LZO_UNUSED(var) if (&var) ; else 1533 # elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1534 # define LZO_UNUSED(var) ((void) var) 1535 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1536 # define LZO_UNUSED(var) if (&var) ; else 1537 # elif (LZO_CC_KEILC) 1538 # define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];} 1539 # elif (LZO_CC_PACIFICC) 1540 # define LZO_UNUSED(var) ((void) sizeof(var)) 1541 # elif (LZO_CC_WATCOMC) && defined(__cplusplus) 1542 # define LZO_UNUSED(var) ((void) var) 1543 # else 1544 # define LZO_UNUSED(var) ((void) &var) 1545 # endif 1546 #endif 1547 #if !defined(LZO_UNUSED_FUNC) 1548 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1549 # define LZO_UNUSED_FUNC(func) ((void) func) 1550 # elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) 1551 # define LZO_UNUSED_FUNC(func) if (func) ; else 1552 # elif (LZO_CC_LLVM) 1553 # define LZO_UNUSED_FUNC(func) ((void) &func) 1554 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1555 # define LZO_UNUSED_FUNC(func) if (func) ; else 1556 # elif (LZO_CC_MSC) 1557 # define LZO_UNUSED_FUNC(func) ((void) &func) 1558 # elif (LZO_CC_KEILC || LZO_CC_PELLESC) 1559 # define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];} 1560 # else 1561 # define LZO_UNUSED_FUNC(func) ((void) func) 1562 # endif 1563 #endif 1564 #if !defined(LZO_UNUSED_LABEL) 1565 # if (LZO_CC_WATCOMC) && defined(__cplusplus) 1566 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 1567 # elif (LZO_CC_INTELC || LZO_CC_WATCOMC) 1568 # define LZO_UNUSED_LABEL(l) if (0) goto l 1569 # else 1570 # define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l 1571 # endif 1572 #endif 1573 #if !defined(LZO_DEFINE_UNINITIALIZED_VAR) 1574 # if 0 1575 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var 1576 # elif 0 && (LZO_CC_GNUC) 1577 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var 1578 # else 1579 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init 1580 # endif 1581 #endif 1582 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) 1583 # if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) 1584 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 1585 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1586 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)]; 1587 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1588 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)]; 1589 # else 1590 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)]; 1591 # endif 1592 #endif 1593 #if !defined(LZO_COMPILE_TIME_ASSERT) 1594 # if (LZO_CC_AZTECC) 1595 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];} 1596 # elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1597 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1598 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1599 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1600 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1601 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1602 # else 1603 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];} 1604 # endif 1605 #endif 1606 #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) 1607 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) 1608 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1609 # define __lzo_cdecl __cdecl 1610 # define __lzo_cdecl_atexit 1611 # define __lzo_cdecl_main __cdecl 1612 # if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 1613 # define __lzo_cdecl_qsort __pascal 1614 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 1615 # define __lzo_cdecl_qsort _stdcall 1616 # else 1617 # define __lzo_cdecl_qsort __cdecl 1618 # endif 1619 # elif (LZO_CC_WATCOMC) 1620 # define __lzo_cdecl __cdecl 1621 # else 1622 # define __lzo_cdecl __cdecl 1623 # define __lzo_cdecl_atexit __cdecl 1624 # define __lzo_cdecl_main __cdecl 1625 # define __lzo_cdecl_qsort __cdecl 1626 # endif 1627 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) 1628 # elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 1629 # define __lzo_cdecl_sighandler __pascal 1630 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 1631 # define __lzo_cdecl_sighandler _stdcall 1632 # elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) 1633 # define __lzo_cdecl_sighandler __clrcall 1634 # elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) 1635 # if defined(_DLL) 1636 # define __lzo_cdecl_sighandler _far _cdecl _loadds 1637 # elif defined(_MT) 1638 # define __lzo_cdecl_sighandler _far _cdecl 1639 # else 1640 # define __lzo_cdecl_sighandler _cdecl 1641 # endif 1642 # else 1643 # define __lzo_cdecl_sighandler __cdecl 1644 # endif 1645 #elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) 1646 # define __lzo_cdecl __cdecl 1647 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) 1648 # define __lzo_cdecl cdecl 1649 #endif 1650 #if !defined(__lzo_cdecl) 1651 # define __lzo_cdecl 1652 #endif 1653 #if !defined(__lzo_cdecl_atexit) 1654 # define __lzo_cdecl_atexit 1655 #endif 1656 #if !defined(__lzo_cdecl_main) 1657 # define __lzo_cdecl_main 1658 #endif 1659 #if !defined(__lzo_cdecl_qsort) 1660 # define __lzo_cdecl_qsort 1661 #endif 1662 #if !defined(__lzo_cdecl_sighandler) 1663 # define __lzo_cdecl_sighandler 1664 #endif 1665 #if !defined(__lzo_cdecl_va) 1666 # define __lzo_cdecl_va __lzo_cdecl 1667 #endif 1668 #if !defined(LZO_CFG_NO_WINDOWS_H) 1669 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) 1670 # if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) 1671 # elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) 1672 # elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) 1673 # else 1674 # define LZO_HAVE_WINDOWS_H 1 1675 # endif 1676 #endif 1677 #endif 1678 #if (LZO_ARCH_ALPHA) 1679 # define LZO_OPT_AVOID_UINT_INDEX 1 1680 # define LZO_OPT_AVOID_SHORT 1 1681 # define LZO_OPT_AVOID_USHORT 1 1682 #elif (LZO_ARCH_AMD64) 1683 # define LZO_OPT_AVOID_INT_INDEX 1 1684 # define LZO_OPT_AVOID_UINT_INDEX 1 1685 # define LZO_OPT_UNALIGNED16 1 1686 # define LZO_OPT_UNALIGNED32 1 1687 # define LZO_OPT_UNALIGNED64 1 1688 #elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB) 1689 #elif (LZO_ARCH_ARM) 1690 # define LZO_OPT_AVOID_SHORT 1 1691 # define LZO_OPT_AVOID_USHORT 1 1692 #elif (LZO_ARCH_CRIS) 1693 # define LZO_OPT_UNALIGNED16 1 1694 # define LZO_OPT_UNALIGNED32 1 1695 #elif (LZO_ARCH_I386) 1696 # define LZO_OPT_UNALIGNED16 1 1697 # define LZO_OPT_UNALIGNED32 1 1698 #elif (LZO_ARCH_IA64) 1699 # define LZO_OPT_AVOID_INT_INDEX 1 1700 # define LZO_OPT_AVOID_UINT_INDEX 1 1701 # define LZO_OPT_PREFER_POSTINC 1 1702 #elif (LZO_ARCH_M68K) 1703 # define LZO_OPT_PREFER_POSTINC 1 1704 # define LZO_OPT_PREFER_PREDEC 1 1705 # if defined(__mc68020__) && !defined(__mcoldfire__) 1706 # define LZO_OPT_UNALIGNED16 1 1707 # define LZO_OPT_UNALIGNED32 1 1708 # endif 1709 #elif (LZO_ARCH_MIPS) 1710 # define LZO_OPT_AVOID_UINT_INDEX 1 1711 #elif (LZO_ARCH_POWERPC) 1712 # define LZO_OPT_PREFER_PREINC 1 1713 # define LZO_OPT_PREFER_PREDEC 1 1714 # if defined(LZO_ABI_BIG_ENDIAN) 1715 # define LZO_OPT_UNALIGNED16 1 1716 # define LZO_OPT_UNALIGNED32 1 1717 # endif 1718 #elif (LZO_ARCH_S390) 1719 # define LZO_OPT_UNALIGNED16 1 1720 # define LZO_OPT_UNALIGNED32 1 1721 # if (LZO_SIZEOF_SIZE_T == 8) 1722 # define LZO_OPT_UNALIGNED64 1 1723 # endif 1724 #elif (LZO_ARCH_SH) 1725 # define LZO_OPT_PREFER_POSTINC 1 1726 # define LZO_OPT_PREFER_PREDEC 1 1727 #endif 1728 #if !defined(LZO_CFG_NO_INLINE_ASM) 1729 #if defined(LZO_CC_LLVM) 1730 # define LZO_CFG_NO_INLINE_ASM 1 1731 #endif 1732 #endif 1733 #if !defined(LZO_CFG_NO_UNALIGNED) 1734 #if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC) 1735 # define LZO_CFG_NO_UNALIGNED 1 1736 #endif 1737 #endif 1738 #if defined(LZO_CFG_NO_UNALIGNED) 1739 # undef LZO_OPT_UNALIGNED16 1740 # undef LZO_OPT_UNALIGNED32 1741 # undef LZO_OPT_UNALIGNED64 1742 #endif 1743 #if defined(LZO_CFG_NO_INLINE_ASM) 1744 #elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 1745 # define LZO_ASM_SYNTAX_MSC 1 1746 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 1747 #elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 1748 # define LZO_ASM_SYNTAX_GNUC 1 1749 #elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 1750 # define LZO_ASM_SYNTAX_GNUC 1 1751 #endif 1752 #if (LZO_ASM_SYNTAX_GNUC) 1753 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) 1754 # define __LZO_ASM_CLOBBER "ax" 1755 #elif (LZO_CC_INTELC) 1756 # define __LZO_ASM_CLOBBER "memory" 1757 #else 1758 # define __LZO_ASM_CLOBBER "cc", "memory" 1759 #endif 1760 #endif 1761 #if defined(__LZO_INFOSTR_MM) 1762 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) 1763 # define __LZO_INFOSTR_MM "" 1764 #elif defined(LZO_INFO_MM) 1765 # define __LZO_INFOSTR_MM "." LZO_INFO_MM 1766 #else 1767 # define __LZO_INFOSTR_MM "" 1768 #endif 1769 #if defined(__LZO_INFOSTR_PM) 1770 #elif defined(LZO_INFO_ABI_PM) 1771 # define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM 1772 #else 1773 # define __LZO_INFOSTR_PM "" 1774 #endif 1775 #if defined(__LZO_INFOSTR_ENDIAN) 1776 #elif defined(LZO_INFO_ABI_ENDIAN) 1777 # define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN 1778 #else 1779 # define __LZO_INFOSTR_ENDIAN "" 1780 #endif 1781 #if defined(__LZO_INFOSTR_OSNAME) 1782 #elif defined(LZO_INFO_OS_CONSOLE) 1783 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE 1784 #elif defined(LZO_INFO_OS_POSIX) 1785 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX 1786 #else 1787 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS 1788 #endif 1789 #if defined(__LZO_INFOSTR_LIBC) 1790 #elif defined(LZO_INFO_LIBC) 1791 # define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC 1792 #else 1793 # define __LZO_INFOSTR_LIBC "" 1794 #endif 1795 #if defined(__LZO_INFOSTR_CCVER) 1796 #elif defined(LZO_INFO_CCVER) 1797 # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER 1798 #else 1799 # define __LZO_INFOSTR_CCVER "" 1800 #endif 1801 #define LZO_INFO_STRING \ 1802 LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ 1803 " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER 1804 1805 #endif /* already included */ 1806 1807 /* vim:set ts=4 et: */ 1808