34 #define __LZO_IN_MINILZO 1 36 #if defined(LZO_CFG_FREESTANDING) 37 # undef MINILZO_HAVE_CONFIG_H 38 # define LZO_LIBC_FREESTANDING 1 39 # define LZO_OS_FREESTANDING 1 42 #ifdef MINILZO_HAVE_CONFIG_H 47 #if defined(MINILZO_CFG_USE_INTERNAL_LZODEFS) 49 #ifndef __LZODEFS_H_INCLUDED 50 #define __LZODEFS_H_INCLUDED 1 52 #if defined(__CYGWIN32__) && !defined(__CYGWIN__) 53 # define __CYGWIN__ __CYGWIN32__ 55 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) 56 # define _ALL_SOURCE 1 58 #if defined(__mips__) && defined(__R5900__) 59 # if !defined(__LONG_MAX__) 60 # define __LONG_MAX__ 9223372036854775807L 64 #elif !defined(__LZO_LANG_OVERRIDE) 65 #if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__) 66 # if (__ASSEMBLER__+0) <= 0 67 # error "__ASSEMBLER__" 69 # define LZO_LANG_ASSEMBLER 1 71 #elif defined(__cplusplus) 72 # if (__cplusplus+0) <= 0 74 # elif (__cplusplus < 199711L) 75 # define LZO_LANG_CXX 1 76 # elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1 77 # define LZO_LANG_CXX _MSVC_LANG 79 # define LZO_LANG_CXX __cplusplus 81 # define LZO_LANG_CPLUSPLUS LZO_LANG_CXX 83 # if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L) 84 # define LZO_LANG_C __STDC_VERSION__ 90 #if !defined(LZO_CFG_NO_DISABLE_WUNDEF) 91 #if defined(__ARMCC_VERSION) 92 # pragma diag_suppress 193 93 #elif defined(__clang__) && defined(__clang_minor__) 94 # pragma clang diagnostic ignored "-Wundef" 95 #elif defined(__INTEL_COMPILER) 96 # pragma warning(disable: 193) 97 #elif defined(__KEIL__) && defined(__C166__) 98 # pragma warning disable = 322 99 #elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__) 100 # if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2)) 101 # pragma GCC diagnostic ignored "-Wundef" 103 #elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) 104 # if ((_MSC_VER-0) >= 1300) 105 # pragma warning(disable: 4668) 109 #if 0 && defined(__POCC__) && defined(_WIN32) 110 # if (__POCC__ >= 400) 111 # pragma warn(disable: 2216) 114 #if 0 && defined(__WATCOMC__) 115 # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) 116 # pragma warning 203 9 119 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) 122 #if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC) 123 #ifndef _CRT_NONSTDC_NO_DEPRECATE 124 #define _CRT_NONSTDC_NO_DEPRECATE 1 126 #ifndef _CRT_NONSTDC_NO_WARNINGS 127 #define _CRT_NONSTDC_NO_WARNINGS 1 129 #ifndef _CRT_SECURE_NO_DEPRECATE 130 #define _CRT_SECURE_NO_DEPRECATE 1 132 #ifndef _CRT_SECURE_NO_WARNINGS 133 #define _CRT_SECURE_NO_WARNINGS 1 137 #define LZO_0xffffUL 0xfffful 138 #define LZO_0xffffffffUL 0xfffffffful 140 #define LZO_0xffffUL 65535ul 141 #define LZO_0xffffffffUL 4294967295ul 143 #define LZO_0xffffL LZO_0xffffUL 144 #define LZO_0xffffffffL LZO_0xffffffffUL 145 #if (LZO_0xffffL == LZO_0xffffffffL) 146 # error "your preprocessor is broken 1" 148 #if (16ul * 16384ul != 262144ul) 149 # error "your preprocessor is broken 2" 152 #if (32767 >= 4294967295ul) 153 # error "your preprocessor is broken 3" 155 #if (65535u >= 4294967295ul) 156 # error "your preprocessor is broken 4" 159 #if defined(__COUNTER__) 160 # ifndef LZO_CFG_USE_COUNTER 161 # define LZO_CFG_USE_COUNTER 1 164 # undef LZO_CFG_USE_COUNTER 166 #if (UINT_MAX == LZO_0xffffL) 167 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) 171 # if !defined(_MSDOS) 174 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) 175 # if (__VERSION == 520) && (MB_LEN_MAX == 1) 176 # if !defined(__AZTEC_C__) 177 # define __AZTEC_C__ __VERSION 179 # if !defined(__DOS__) 185 #if (UINT_MAX == LZO_0xffffL) 186 #if defined(_MSC_VER) && defined(M_I86HM) 187 # define ptrdiff_t long 188 # define _PTRDIFF_T_DEFINED 1 191 #if (UINT_MAX == LZO_0xffffL) 192 # undef __LZO_RENAME_A 193 # undef __LZO_RENAME_B 194 # if defined(__AZTEC_C__) && defined(__DOS__) 195 # define __LZO_RENAME_A 1 196 # elif defined(_MSC_VER) && defined(MSDOS) 197 # if (_MSC_VER < 600) 198 # define __LZO_RENAME_A 1 199 # elif (_MSC_VER < 700) 200 # define __LZO_RENAME_B 1 202 # elif defined(__TSC__) && defined(__OS2__) 203 # define __LZO_RENAME_A 1 204 # elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) 205 # define __LZO_RENAME_A 1 206 # elif defined(__PACIFIC__) && defined(DOS) 210 # if !defined(__near) 214 # if defined(__LZO_RENAME_A) 215 # if !defined(__cdecl) 216 # define __cdecl cdecl 221 # if !defined(__huge) 224 # if !defined(__near) 227 # if !defined(__pascal) 228 # define __pascal pascal 230 # if !defined(__huge) 233 # elif defined(__LZO_RENAME_B) 234 # if !defined(__cdecl) 235 # define __cdecl _cdecl 240 # if !defined(__huge) 241 # define __huge _huge 243 # if !defined(__near) 244 # define __near _near 246 # if !defined(__pascal) 247 # define __pascal _pascal 249 # elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 250 # if !defined(__cdecl) 251 # define __cdecl cdecl 253 # if !defined(__pascal) 254 # define __pascal pascal 257 # undef __LZO_RENAME_A 258 # undef __LZO_RENAME_B 260 #if (UINT_MAX == LZO_0xffffL) 261 #if defined(__AZTEC_C__) && defined(__DOS__) 262 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 263 #elif defined(_MSC_VER) && defined(MSDOS) 264 # if (_MSC_VER < 600) 265 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 267 # if (_MSC_VER < 700) 268 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 269 # define LZO_BROKEN_SIZEOF 1 271 #elif defined(__PACIFIC__) && defined(DOS) 272 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 273 #elif defined(__TURBOC__) && defined(__MSDOS__) 274 # if (__TURBOC__ < 0x0150) 275 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 276 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 277 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 279 # if (__TURBOC__ < 0x0200) 280 # define LZO_BROKEN_SIZEOF 1 282 # if (__TURBOC__ < 0x0400) && defined(__cplusplus) 283 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 285 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 286 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 287 # define LZO_BROKEN_SIZEOF 1 290 #if defined(__WATCOMC__) && (__WATCOMC__ < 900) 291 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 293 #if defined(_CRAY) && defined(_CRAY1) 294 # define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 296 #define LZO_PP_STRINGIZE(x) #x 297 #define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) 298 #define LZO_PP_CONCAT0() 299 #define LZO_PP_CONCAT1(a) a 300 #define LZO_PP_CONCAT2(a,b) a ## b 301 #define LZO_PP_CONCAT3(a,b,c) a ## b ## c 302 #define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d 303 #define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 304 #define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f 305 #define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g 306 #define LZO_PP_ECONCAT0() LZO_PP_CONCAT0() 307 #define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a) 308 #define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) 309 #define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) 310 #define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) 311 #define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) 312 #define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f) 313 #define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g) 315 #define LZO_PP_EMPTY0() 316 #define LZO_PP_EMPTY1(a) 317 #define LZO_PP_EMPTY2(a,b) 318 #define LZO_PP_EMPTY3(a,b,c) 319 #define LZO_PP_EMPTY4(a,b,c,d) 320 #define LZO_PP_EMPTY5(a,b,c,d,e) 321 #define LZO_PP_EMPTY6(a,b,c,d,e,f) 322 #define LZO_PP_EMPTY7(a,b,c,d,e,f,g) 324 #define LZO_CPP_STRINGIZE(x) #x 325 #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) 326 #define LZO_CPP_CONCAT2(a,b) a ## b 327 #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c 328 #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d 329 #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 330 #define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f 331 #define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g 332 #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) 333 #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) 334 #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) 335 #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) 336 #define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f) 337 #define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g) 339 #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0)) 340 #if 1 && defined(__cplusplus) 341 # if !defined(__STDC_CONSTANT_MACROS) 342 # define __STDC_CONSTANT_MACROS 1 344 # if !defined(__STDC_LIMIT_MACROS) 345 # define __STDC_LIMIT_MACROS 1 348 #if defined(__cplusplus) 349 # define LZO_EXTERN_C extern "C" 350 # define LZO_EXTERN_C_BEGIN extern "C" { 351 # define LZO_EXTERN_C_END } 353 # define LZO_EXTERN_C extern 354 # define LZO_EXTERN_C_BEGIN 355 # define LZO_EXTERN_C_END 357 #if !defined(__LZO_OS_OVERRIDE) 358 #if (LZO_OS_FREESTANDING) 359 # define LZO_INFO_OS "freestanding" 360 #elif (LZO_OS_EMBEDDED) 361 # define LZO_INFO_OS "embedded" 362 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 363 # define LZO_OS_EMBEDDED 1 364 # define LZO_INFO_OS "embedded" 365 #elif defined(__CYGWIN__) && defined(__GNUC__) 366 # define LZO_OS_CYGWIN 1 367 # define LZO_INFO_OS "cygwin" 368 #elif defined(__EMX__) && defined(__GNUC__) 369 # define LZO_OS_EMX 1 370 # define LZO_INFO_OS "emx" 371 #elif defined(__BEOS__) 372 # define LZO_OS_BEOS 1 373 # define LZO_INFO_OS "beos" 374 #elif defined(__Lynx__) 375 # define LZO_OS_LYNXOS 1 376 # define LZO_INFO_OS "lynxos" 377 #elif defined(__OS400__) 378 # define LZO_OS_OS400 1 379 # define LZO_INFO_OS "os400" 380 #elif defined(__QNX__) 381 # define LZO_OS_QNX 1 382 # define LZO_INFO_OS "qnx" 383 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) 384 # define LZO_OS_DOS32 1 385 # define LZO_INFO_OS "dos32" 386 #elif defined(__BORLANDC__) && defined(__DPMI16__) 387 # define LZO_OS_DOS16 1 388 # define LZO_INFO_OS "dos16" 389 #elif defined(__ZTC__) && defined(DOS386) 390 # define LZO_OS_DOS32 1 391 # define LZO_INFO_OS "dos32" 392 #elif defined(__OS2__) || defined(__OS2V2__) 393 # if (UINT_MAX == LZO_0xffffL) 394 # define LZO_OS_OS216 1 395 # define LZO_INFO_OS "os216" 396 # elif (UINT_MAX == LZO_0xffffffffL) 397 # define LZO_OS_OS2 1 398 # define LZO_INFO_OS "os2" 400 # error "check your limits.h header" 402 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) 403 # define LZO_OS_WIN64 1 404 # define LZO_INFO_OS "win64" 405 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) 406 # define LZO_OS_WIN32 1 407 # define LZO_INFO_OS "win32" 408 #elif defined(__MWERKS__) && defined(__INTEL__) 409 # define LZO_OS_WIN32 1 410 # define LZO_INFO_OS "win32" 411 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) 412 # if (UINT_MAX == LZO_0xffffL) 413 # define LZO_OS_WIN16 1 414 # define LZO_INFO_OS "win16" 415 # elif (UINT_MAX == LZO_0xffffffffL) 416 # define LZO_OS_WIN32 1 417 # define LZO_INFO_OS "win32" 419 # error "check your limits.h header" 421 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) 422 # if (UINT_MAX == LZO_0xffffL) 423 # define LZO_OS_DOS16 1 424 # define LZO_INFO_OS "dos16" 425 # elif (UINT_MAX == LZO_0xffffffffL) 426 # define LZO_OS_DOS32 1 427 # define LZO_INFO_OS "dos32" 429 # error "check your limits.h header" 431 #elif defined(__WATCOMC__) 432 # if defined(__NT__) && (UINT_MAX == LZO_0xffffL) 433 # define LZO_OS_DOS16 1 434 # define LZO_INFO_OS "dos16" 435 # elif defined(__NT__) && (__WATCOMC__ < 1100) 436 # define LZO_OS_WIN32 1 437 # define LZO_INFO_OS "win32" 438 # elif defined(__linux__) || defined(__LINUX__) 439 # define LZO_OS_POSIX 1 440 # define LZO_INFO_OS "posix" 442 # error "please specify a target using the -bt compiler option" 444 #elif defined(__palmos__) 445 # define LZO_OS_PALMOS 1 446 # define LZO_INFO_OS "palmos" 447 #elif defined(__TOS__) || defined(__atarist__) 448 # define LZO_OS_TOS 1 449 # define LZO_INFO_OS "tos" 450 #elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__) 451 # define LZO_OS_MACCLASSIC 1 452 # define LZO_INFO_OS "macclassic" 454 # define LZO_OS_VMS 1 455 # define LZO_INFO_OS "vms" 456 #elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__) 457 # define LZO_OS_CONSOLE 1 458 # define LZO_OS_CONSOLE_PS2 1 459 # define LZO_INFO_OS "console" 460 # define LZO_INFO_OS_CONSOLE "ps2" 461 #elif defined(__mips__) && defined(__psp__) 462 # define LZO_OS_CONSOLE 1 463 # define LZO_OS_CONSOLE_PSP 1 464 # define LZO_INFO_OS "console" 465 # define LZO_INFO_OS_CONSOLE "psp" 467 # define LZO_OS_POSIX 1 468 # define LZO_INFO_OS "posix" 471 # if defined(_AIX) || defined(__AIX__) || defined(__aix__) 472 # define LZO_OS_POSIX_AIX 1 473 # define LZO_INFO_OS_POSIX "aix" 474 # elif defined(__FreeBSD__) 475 # define LZO_OS_POSIX_FREEBSD 1 476 # define LZO_INFO_OS_POSIX "freebsd" 477 # elif defined(__hpux__) || defined(__hpux) 478 # define LZO_OS_POSIX_HPUX 1 479 # define LZO_INFO_OS_POSIX "hpux" 480 # elif defined(__INTERIX) 481 # define LZO_OS_POSIX_INTERIX 1 482 # define LZO_INFO_OS_POSIX "interix" 483 # elif defined(__IRIX__) || defined(__irix__) 484 # define LZO_OS_POSIX_IRIX 1 485 # define LZO_INFO_OS_POSIX "irix" 486 # elif defined(__linux__) || defined(__linux) || defined(__LINUX__) 487 # define LZO_OS_POSIX_LINUX 1 488 # define LZO_INFO_OS_POSIX "linux" 489 # elif defined(__APPLE__) && defined(__MACH__) 490 # if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000) 491 # define LZO_OS_POSIX_DARWIN 1040 492 # define LZO_INFO_OS_POSIX "darwin_iphone" 493 # elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040) 494 # define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 495 # define LZO_INFO_OS_POSIX "darwin" 497 # define LZO_OS_POSIX_DARWIN 1 498 # define LZO_INFO_OS_POSIX "darwin" 500 # define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN 501 # elif defined(__minix__) || defined(__minix) 502 # define LZO_OS_POSIX_MINIX 1 503 # define LZO_INFO_OS_POSIX "minix" 504 # elif defined(__NetBSD__) 505 # define LZO_OS_POSIX_NETBSD 1 506 # define LZO_INFO_OS_POSIX "netbsd" 507 # elif defined(__OpenBSD__) 508 # define LZO_OS_POSIX_OPENBSD 1 509 # define LZO_INFO_OS_POSIX "openbsd" 510 # elif defined(__osf__) 511 # define LZO_OS_POSIX_OSF 1 512 # define LZO_INFO_OS_POSIX "osf" 513 # elif defined(__solaris__) || defined(__sun) 514 # if defined(__SVR4) || defined(__svr4__) 515 # define LZO_OS_POSIX_SOLARIS 1 516 # define LZO_INFO_OS_POSIX "solaris" 518 # define LZO_OS_POSIX_SUNOS 1 519 # define LZO_INFO_OS_POSIX "sunos" 521 # elif defined(__ultrix__) || defined(__ultrix) 522 # define LZO_OS_POSIX_ULTRIX 1 523 # define LZO_INFO_OS_POSIX "ultrix" 524 # elif defined(_UNICOS) 525 # define LZO_OS_POSIX_UNICOS 1 526 # define LZO_INFO_OS_POSIX "unicos" 528 # define LZO_OS_POSIX_UNKNOWN 1 529 # define LZO_INFO_OS_POSIX "unknown" 533 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 534 # if (UINT_MAX != LZO_0xffffL) 535 # error "unexpected configuration - check your compiler defines" 537 # if (ULONG_MAX != LZO_0xffffffffL) 538 # error "unexpected configuration - check your compiler defines" 541 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) 542 # if (UINT_MAX != LZO_0xffffffffL) 543 # error "unexpected configuration - check your compiler defines" 545 # if (ULONG_MAX != LZO_0xffffffffL) 546 # error "unexpected configuration - check your compiler defines" 549 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) 550 # define LZO_CC_CILLY 1 551 # define LZO_INFO_CC "Cilly" 552 # if defined(__CILLY__) 553 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) 555 # define LZO_INFO_CCVER "unknown" 557 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) 558 # define LZO_CC_SDCC 1 559 # define LZO_INFO_CC "sdcc" 560 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) 561 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) 562 # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0)) 563 # define LZO_INFO_CC "Pathscale C" 564 # define LZO_INFO_CCVER __PATHSCALE__ 565 # if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 566 # define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 568 #elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0) 569 # define LZO_CC_INTELC __INTEL_COMPILER 570 # define LZO_INFO_CC "Intel C" 571 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) 572 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 573 # define LZO_CC_INTELC_MSC _MSC_VER 574 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 575 # define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 577 #elif defined(__POCC__) && defined(_WIN32) 578 # define LZO_CC_PELLESC 1 579 # define LZO_INFO_CC "Pelles C" 580 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) 581 #elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 582 # if defined(__GNUC_PATCHLEVEL__) 583 # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 585 # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 587 # define LZO_CC_ARMCC __ARMCC_VERSION 588 # define LZO_INFO_CC "ARM C Compiler" 589 # define LZO_INFO_CCVER __VERSION__ 590 #elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER) 591 # define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) 592 # define LZO_CC_CLANG_C2 _MSC_VER 593 # define LZO_CC_CLANG_VENDOR_MICROSOFT 1 594 # define LZO_INFO_CC "clang/c2" 595 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__) 596 #elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__) 597 # if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) 598 # define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) 600 # define LZO_CC_CLANG 0x010000L 602 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 603 # define LZO_CC_CLANG_MSC _MSC_VER 604 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 605 # define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 607 # if defined(__APPLE_CC__) 608 # define LZO_CC_CLANG_VENDOR_APPLE 1 609 # define LZO_INFO_CC "clang/apple" 611 # define LZO_CC_CLANG_VENDOR_LLVM 1 612 # define LZO_INFO_CC "clang" 614 # if defined(__clang_version__) 615 # define LZO_INFO_CCVER __clang_version__ 617 # define LZO_INFO_CCVER __VERSION__ 619 #elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 620 # if defined(__GNUC_PATCHLEVEL__) 621 # define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 623 # define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 625 # define LZO_CC_LLVM LZO_CC_LLVM_GNUC 626 # define LZO_INFO_CC "llvm-gcc" 627 # define LZO_INFO_CCVER __VERSION__ 628 #elif defined(__ACK__) && defined(_ACK) 629 # define LZO_CC_ACK 1 630 # define LZO_INFO_CC "Amsterdam Compiler Kit C" 631 # define LZO_INFO_CCVER "unknown" 632 #elif defined(__ARMCC_VERSION) && !defined(__GNUC__) 633 # define LZO_CC_ARMCC __ARMCC_VERSION 634 # define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION 635 # define LZO_INFO_CC "ARM C Compiler" 636 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION) 637 #elif defined(__AZTEC_C__) 638 # define LZO_CC_AZTECC 1 639 # define LZO_INFO_CC "Aztec C" 640 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) 641 #elif defined(__CODEGEARC__) 642 # define LZO_CC_CODEGEARC 1 643 # define LZO_INFO_CC "CodeGear C" 644 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) 645 #elif defined(__BORLANDC__) 646 # define LZO_CC_BORLANDC 1 647 # define LZO_INFO_CC "Borland C" 648 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) 649 #elif defined(_CRAYC) && defined(_RELEASE) 650 # define LZO_CC_CRAYC 1 651 # define LZO_INFO_CC "Cray C" 652 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) 653 #elif defined(__DMC__) && defined(__SC__) 654 # define LZO_CC_DMC 1 655 # define LZO_INFO_CC "Digital Mars C" 656 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) 657 #elif defined(__DECC) 658 # define LZO_CC_DECC 1 659 # define LZO_INFO_CC "DEC C" 660 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) 661 #elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0) 662 # define LZO_CC_GHS 1 663 # define LZO_INFO_CC "Green Hills C" 664 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER) 665 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 666 # define LZO_CC_GHS_MSC _MSC_VER 667 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 668 # define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 670 #elif defined(__HIGHC__) 671 # define LZO_CC_HIGHC 1 672 # define LZO_INFO_CC "MetaWare High C" 673 # define LZO_INFO_CCVER "unknown" 674 #elif defined(__HP_aCC) && ((__HP_aCC-0) > 0) 675 # define LZO_CC_HPACC __HP_aCC 676 # define LZO_INFO_CC "HP aCC" 677 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC) 678 #elif defined(__IAR_SYSTEMS_ICC__) 679 # define LZO_CC_IARC 1 680 # define LZO_INFO_CC "IAR C" 681 # if defined(__VER__) 682 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) 684 # define LZO_INFO_CCVER "unknown" 686 #elif defined(__IBMC__) && ((__IBMC__-0) > 0) 687 # define LZO_CC_IBMC __IBMC__ 688 # define LZO_INFO_CC "IBM C" 689 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) 690 #elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0) 691 # define LZO_CC_IBMC __IBMCPP__ 692 # define LZO_INFO_CC "IBM C" 693 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__) 694 #elif defined(__KEIL__) && defined(__C166__) 695 # define LZO_CC_KEILC 1 696 # define LZO_INFO_CC "Keil C" 697 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) 698 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) 699 # define LZO_CC_LCCWIN32 1 700 # define LZO_INFO_CC "lcc-win32" 701 # define LZO_INFO_CCVER "unknown" 702 #elif defined(__LCC__) 703 # define LZO_CC_LCC 1 704 # define LZO_INFO_CC "lcc" 705 # if defined(__LCC_VERSION__) 706 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) 708 # define LZO_INFO_CCVER "unknown" 710 #elif defined(__MWERKS__) && ((__MWERKS__-0) > 0) 711 # define LZO_CC_MWERKS __MWERKS__ 712 # define LZO_INFO_CC "Metrowerks C" 713 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) 714 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) 715 # define LZO_CC_NDPC 1 716 # define LZO_INFO_CC "Microway NDP C" 717 # define LZO_INFO_CCVER "unknown" 718 #elif defined(__PACIFIC__) 719 # define LZO_CC_PACIFICC 1 720 # define LZO_INFO_CC "Pacific C" 721 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) 722 #elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) 723 # if defined(__PGIC_PATCHLEVEL__) 724 # define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0)) 725 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__) 727 # define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100) 728 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0" 730 # define LZO_INFO_CC "Portland Group PGI C" 731 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) 732 # define LZO_CC_PGI 1 733 # define LZO_INFO_CC "Portland Group PGI C" 734 # define LZO_INFO_CCVER "unknown" 735 #elif defined(__PUREC__) && defined(__TOS__) 736 # define LZO_CC_PUREC 1 737 # define LZO_INFO_CC "Pure C" 738 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) 739 #elif defined(__SC__) && defined(__ZTC__) 740 # define LZO_CC_SYMANTECC 1 741 # define LZO_INFO_CC "Symantec C" 742 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) 743 #elif defined(__SUNPRO_C) 744 # define LZO_INFO_CC "SunPro C" 745 # if ((__SUNPRO_C-0) > 0) 746 # define LZO_CC_SUNPROC __SUNPRO_C 747 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) 749 # define LZO_CC_SUNPROC 1 750 # define LZO_INFO_CCVER "unknown" 752 #elif defined(__SUNPRO_CC) 753 # define LZO_INFO_CC "SunPro C" 754 # if ((__SUNPRO_CC-0) > 0) 755 # define LZO_CC_SUNPROC __SUNPRO_CC 756 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) 758 # define LZO_CC_SUNPROC 1 759 # define LZO_INFO_CCVER "unknown" 761 #elif defined(__TINYC__) 762 # define LZO_CC_TINYC 1 763 # define LZO_INFO_CC "Tiny C" 764 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) 765 #elif defined(__TSC__) 766 # define LZO_CC_TOPSPEEDC 1 767 # define LZO_INFO_CC "TopSpeed C" 768 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) 769 #elif defined(__WATCOMC__) 770 # define LZO_CC_WATCOMC 1 771 # define LZO_INFO_CC "Watcom C" 772 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) 773 #elif defined(__TURBOC__) 774 # define LZO_CC_TURBOC 1 775 # define LZO_INFO_CC "Turbo C" 776 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) 777 #elif defined(__ZTC__) 778 # define LZO_CC_ZORTECHC 1 779 # define LZO_INFO_CC "Zortech C" 780 # if ((__ZTC__-0) == 0x310) 781 # define LZO_INFO_CCVER "0x310" 783 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) 785 #elif defined(__GNUC__) && defined(__VERSION__) 786 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 787 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 788 # elif defined(__GNUC_MINOR__) 789 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 791 # define LZO_CC_GNUC (__GNUC__ * 0x10000L) 793 # define LZO_INFO_CC "gcc" 794 # define LZO_INFO_CCVER __VERSION__ 795 #elif defined(_MSC_VER) && ((_MSC_VER-0) > 0) 796 # define LZO_CC_MSC _MSC_VER 797 # define LZO_INFO_CC "Microsoft C" 798 # if defined(_MSC_FULL_VER) 799 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) 801 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) 804 # define LZO_CC_UNKNOWN 1 805 # define LZO_INFO_CC "unknown" 806 # define LZO_INFO_CCVER "unknown" 808 #if (LZO_CC_GNUC) && defined(__OPEN64__) 809 # if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__) 810 # define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0)) 811 # define LZO_CC_OPEN64_GNUC LZO_CC_GNUC 814 #if (LZO_CC_GNUC) && defined(__PCC__) 815 # if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__) 816 # define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0)) 817 # define LZO_CC_PCC_GNUC LZO_CC_GNUC 820 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) 821 # error "LZO_CC_MSC: _MSC_FULL_VER is not defined" 823 #if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) 824 # if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) 825 # if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) 826 # define LZO_ARCH_CRAY_MPP 1 827 # elif defined(_CRAY1) 828 # define LZO_ARCH_CRAY_PVP 1 832 #if !defined(__LZO_ARCH_OVERRIDE) 833 #if (LZO_ARCH_GENERIC) 834 # define LZO_INFO_ARCH "generic" 835 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 836 # define LZO_ARCH_I086 1 837 # define LZO_INFO_ARCH "i086" 838 #elif defined(__aarch64__) || defined(_M_ARM64) 839 # define LZO_ARCH_ARM64 1 840 # define LZO_INFO_ARCH "arm64" 841 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) 842 # define LZO_ARCH_ALPHA 1 843 # define LZO_INFO_ARCH "alpha" 844 #elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) 845 # define LZO_ARCH_ALPHA 1 846 # define LZO_INFO_ARCH "alpha" 847 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) 848 # define LZO_ARCH_AMD64 1 849 # define LZO_INFO_ARCH "amd64" 850 #elif defined(__arm__) || defined(_M_ARM) 851 # define LZO_ARCH_ARM 1 852 # define LZO_INFO_ARCH "arm" 853 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) 854 # define LZO_ARCH_ARM 1 855 # define LZO_INFO_ARCH "arm" 856 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) 857 # define LZO_ARCH_AVR 1 858 # define LZO_INFO_ARCH "avr" 859 #elif defined(__avr32__) || defined(__AVR32__) 860 # define LZO_ARCH_AVR32 1 861 # define LZO_INFO_ARCH "avr32" 862 #elif defined(__bfin__) 863 # define LZO_ARCH_BLACKFIN 1 864 # define LZO_INFO_ARCH "blackfin" 865 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) 866 # define LZO_ARCH_C166 1 867 # define LZO_INFO_ARCH "c166" 868 #elif defined(__cris__) 869 # define LZO_ARCH_CRIS 1 870 # define LZO_INFO_ARCH "cris" 871 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) 872 # define LZO_ARCH_EZ80 1 873 # define LZO_INFO_ARCH "ez80" 874 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 875 # define LZO_ARCH_H8300 1 876 # define LZO_INFO_ARCH "h8300" 877 #elif defined(__hppa__) || defined(__hppa) 878 # define LZO_ARCH_HPPA 1 879 # define LZO_INFO_ARCH "hppa" 880 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) 881 # define LZO_ARCH_I386 1 882 # define LZO_ARCH_IA32 1 883 # define LZO_INFO_ARCH "i386" 884 #elif (LZO_CC_ZORTECHC && defined(__I86__)) 885 # define LZO_ARCH_I386 1 886 # define LZO_ARCH_IA32 1 887 # define LZO_INFO_ARCH "i386" 888 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) 889 # define LZO_ARCH_I386 1 890 # define LZO_ARCH_IA32 1 891 # define LZO_INFO_ARCH "i386" 892 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) 893 # define LZO_ARCH_IA64 1 894 # define LZO_INFO_ARCH "ia64" 895 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) 896 # define LZO_ARCH_M16C 1 897 # define LZO_INFO_ARCH "m16c" 898 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) 899 # define LZO_ARCH_M16C 1 900 # define LZO_INFO_ARCH "m16c" 901 #elif defined(__m32r__) 902 # define LZO_ARCH_M32R 1 903 # define LZO_INFO_ARCH "m32r" 904 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) 905 # define LZO_ARCH_M68K 1 906 # define LZO_INFO_ARCH "m68k" 907 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) 908 # define LZO_ARCH_MCS251 1 909 # define LZO_INFO_ARCH "mcs251" 910 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) 911 # define LZO_ARCH_MCS51 1 912 # define LZO_INFO_ARCH "mcs51" 913 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) 914 # define LZO_ARCH_MCS51 1 915 # define LZO_INFO_ARCH "mcs51" 916 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) 917 # define LZO_ARCH_MIPS 1 918 # define LZO_INFO_ARCH "mips" 919 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) 920 # define LZO_ARCH_MSP430 1 921 # define LZO_INFO_ARCH "msp430" 922 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) 923 # define LZO_ARCH_MSP430 1 924 # define LZO_INFO_ARCH "msp430" 925 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) 926 # define LZO_ARCH_POWERPC 1 927 # define LZO_INFO_ARCH "powerpc" 928 #elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__) 929 # define LZO_ARCH_POWERPC 1 930 # define LZO_INFO_ARCH "powerpc" 931 #elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__) 932 # define LZO_ARCH_POWERPC 1 933 # define LZO_INFO_ARCH "powerpc" 934 #elif defined(__riscv) 935 # define LZO_ARCH_RISCV 1 936 # define LZO_INFO_ARCH "riscv" 937 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) 938 # define LZO_ARCH_S390 1 939 # define LZO_INFO_ARCH "s390" 940 #elif defined(__sh__) || defined(_M_SH) 941 # define LZO_ARCH_SH 1 942 # define LZO_INFO_ARCH "sh" 943 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) 944 # define LZO_ARCH_SPARC 1 945 # define LZO_INFO_ARCH "sparc" 946 #elif defined(__SPU__) 947 # define LZO_ARCH_SPU 1 948 # define LZO_INFO_ARCH "spu" 949 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80) 950 # define LZO_ARCH_Z80 1 951 # define LZO_INFO_ARCH "z80" 952 #elif (LZO_ARCH_CRAY_PVP) 953 # if defined(_CRAYSV1) 954 # define LZO_ARCH_CRAY_SV1 1 955 # define LZO_INFO_ARCH "cray_sv1" 957 # define LZO_ARCH_CRAY_T90 1 958 # define LZO_INFO_ARCH "cray_t90" 960 # define LZO_ARCH_CRAY_YMP 1 961 # define LZO_INFO_ARCH "cray_ymp" 963 # define LZO_ARCH_CRAY_XMP 1 964 # define LZO_INFO_ARCH "cray_xmp" 967 # define LZO_ARCH_UNKNOWN 1 968 # define LZO_INFO_ARCH "unknown" 971 #if !defined(LZO_ARCH_ARM_THUMB2) 973 # if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB) 974 # if defined(__thumb2__) 975 # define LZO_ARCH_ARM_THUMB2 1 976 # elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4) 977 # define LZO_ARCH_ARM_THUMB2 1 978 # elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7) 979 # define LZO_ARCH_ARM_THUMB2 1 984 #if (LZO_ARCH_ARM_THUMB2) 985 # undef LZO_INFO_ARCH 986 # define LZO_INFO_ARCH "arm_thumb2" 988 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) 989 # error "FIXME - missing define for CPU architecture" 991 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) 992 # error "FIXME - missing LZO_OS_WIN32 define for CPU architecture" 994 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) 995 # error "FIXME - missing LZO_OS_WIN64 define for CPU architecture" 997 #if (LZO_OS_OS216 || LZO_OS_WIN16) 998 # define LZO_ARCH_I086PM 1 999 #elif 1 && (LZO_OS_DOS16 && defined(BLX286)) 1000 # define LZO_ARCH_I086PM 1 1001 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) 1002 # define LZO_ARCH_I086PM 1 1003 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) 1004 # define LZO_ARCH_I086PM 1 1006 #if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) 1007 # define LZO_ARCH_X64 1 1008 #elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE) 1009 # define LZO_ARCH_AMD64 1 1011 #if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) 1012 # define LZO_ARCH_AARCH64 1 1013 #elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE) 1014 # define LZO_ARCH_ARM64 1 1016 #if (LZO_ARCH_I386 && !LZO_ARCH_X86) 1017 # define LZO_ARCH_X86 1 1018 #elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE) 1019 # define LZO_ARCH_I386 1 1021 #if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64) 1022 # error "unexpected configuration - check your compiler defines" 1024 #if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) 1025 # error "unexpected configuration - check your compiler defines" 1027 #if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86) 1028 # error "unexpected configuration - check your compiler defines" 1030 #if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM) 1031 # error "unexpected configuration - check your compiler defines" 1033 #if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM) 1034 # error "unexpected configuration - check your compiler defines" 1036 #if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2) 1037 # error "unexpected configuration - check your compiler defines" 1039 #if (LZO_ARCH_I086PM && !LZO_ARCH_I086) 1040 # error "unexpected configuration - check your compiler defines" 1043 # if (UINT_MAX != LZO_0xffffL) 1044 # error "unexpected configuration - check your compiler defines" 1046 # if (ULONG_MAX != LZO_0xffffffffL) 1047 # error "unexpected configuration - check your compiler defines" 1051 # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) 1052 # error "unexpected configuration - check your compiler defines" 1054 # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) 1055 # error "unexpected configuration - check your compiler defines" 1057 # if (ULONG_MAX != LZO_0xffffffffL) 1058 # error "unexpected configuration - check your compiler defines" 1061 #if (LZO_ARCH_AMD64 || LZO_ARCH_I386) 1062 # if !defined(LZO_TARGET_FEATURE_SSE2) 1063 # if defined(__SSE2__) 1064 # define LZO_TARGET_FEATURE_SSE2 1 1065 # elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2)) 1066 # define LZO_TARGET_FEATURE_SSE2 1 1067 # elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64) 1068 # define LZO_TARGET_FEATURE_SSE2 1 1071 # if !defined(LZO_TARGET_FEATURE_SSSE3) 1072 # if (LZO_TARGET_FEATURE_SSE2) 1073 # if defined(__SSSE3__) 1074 # define LZO_TARGET_FEATURE_SSSE3 1 1075 # elif defined(_MSC_VER) && defined(__AVX__) 1076 # define LZO_TARGET_FEATURE_SSSE3 1 1080 # if !defined(LZO_TARGET_FEATURE_SSE4_2) 1081 # if (LZO_TARGET_FEATURE_SSSE3) 1082 # if defined(__SSE4_2__) 1083 # define LZO_TARGET_FEATURE_SSE4_2 1 1087 # if !defined(LZO_TARGET_FEATURE_AVX) 1088 # if (LZO_TARGET_FEATURE_SSSE3) 1089 # if defined(__AVX__) 1090 # define LZO_TARGET_FEATURE_AVX 1 1094 # if !defined(LZO_TARGET_FEATURE_AVX2) 1095 # if (LZO_TARGET_FEATURE_AVX) 1096 # if defined(__AVX2__) 1097 # define LZO_TARGET_FEATURE_AVX2 1 1102 #if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2)) 1103 # error "unexpected configuration - check your compiler defines" 1105 #if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3)) 1106 # error "unexpected configuration - check your compiler defines" 1108 #if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3)) 1109 # error "unexpected configuration - check your compiler defines" 1111 #if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX)) 1112 # error "unexpected configuration - check your compiler defines" 1115 # if !defined(LZO_TARGET_FEATURE_NEON) 1116 # if defined(__ARM_NEON) && ((__ARM_NEON)+0) 1117 # define LZO_TARGET_FEATURE_NEON 1 1118 # elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0) 1119 # define LZO_TARGET_FEATURE_NEON 1 1120 # elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0) 1121 # define LZO_TARGET_FEATURE_NEON 1 1124 #elif (LZO_ARCH_ARM64) 1125 # if !defined(LZO_TARGET_FEATURE_NEON) 1127 # define LZO_TARGET_FEATURE_NEON 1 1132 #elif !defined(__LZO_MM_OVERRIDE) 1134 #if (UINT_MAX != LZO_0xffffL) 1135 # error "unexpected configuration - check your compiler defines" 1137 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) 1138 # define LZO_MM_TINY 1 1139 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) 1140 # define LZO_MM_HUGE 1 1141 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) 1142 # define LZO_MM_SMALL 1 1143 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) 1144 # define LZO_MM_MEDIUM 1 1145 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) 1146 # define LZO_MM_COMPACT 1 1147 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) 1148 # define LZO_MM_LARGE 1 1149 #elif (LZO_CC_AZTECC) 1150 # if defined(_LARGE_CODE) && defined(_LARGE_DATA) 1151 # define LZO_MM_LARGE 1 1152 # elif defined(_LARGE_CODE) 1153 # define LZO_MM_MEDIUM 1 1154 # elif defined(_LARGE_DATA) 1155 # define LZO_MM_COMPACT 1 1157 # define LZO_MM_SMALL 1 1159 #elif (LZO_CC_ZORTECHC && defined(__VCM__)) 1160 # define LZO_MM_LARGE 1 1162 # error "unknown LZO_ARCH_I086 memory model" 1164 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 1165 #define LZO_HAVE_MM_HUGE_PTR 1 1166 #define LZO_HAVE_MM_HUGE_ARRAY 1 1168 # undef LZO_HAVE_MM_HUGE_ARRAY 1170 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) 1171 # undef LZO_HAVE_MM_HUGE_PTR 1172 # undef LZO_HAVE_MM_HUGE_ARRAY 1173 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1174 # undef LZO_HAVE_MM_HUGE_ARRAY 1175 #elif (LZO_CC_MSC && defined(_QC)) 1176 # undef LZO_HAVE_MM_HUGE_ARRAY 1177 # if (_MSC_VER < 600) 1178 # undef LZO_HAVE_MM_HUGE_PTR 1180 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) 1181 # undef LZO_HAVE_MM_HUGE_ARRAY 1183 #if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) 1185 # error "unexpected configuration - check your compiler defines" 1186 # elif (LZO_CC_ZORTECHC) 1188 # error "unexpected configuration - check your compiler defines" 1191 #if defined(__cplusplus) 1194 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) 1195 extern void __near __cdecl _AHSHIFT(
void);
1196 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1197 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1198 extern void __near __cdecl _AHSHIFT(
void);
1199 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1200 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) 1201 extern void __near __cdecl _AHSHIFT(
void);
1202 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1203 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) 1204 extern void __near __cdecl _AHSHIFT(
void);
1205 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1206 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) 1207 # define LZO_MM_AHSHIFT 12 1208 #elif (LZO_CC_WATCOMC) 1209 extern unsigned char _HShift;
1210 # define LZO_MM_AHSHIFT ((unsigned) _HShift) 1212 # error "FIXME - implement LZO_MM_AHSHIFT" 1214 #if defined(__cplusplus) 1218 #elif (LZO_ARCH_C166) 1219 #if !defined(__MODEL__) 1220 # error "FIXME - LZO_ARCH_C166 __MODEL__" 1221 #elif ((__MODEL__) == 0) 1222 # define LZO_MM_SMALL 1 1223 #elif ((__MODEL__) == 1) 1224 # define LZO_MM_SMALL 1 1225 #elif ((__MODEL__) == 2) 1226 # define LZO_MM_LARGE 1 1227 #elif ((__MODEL__) == 3) 1228 # define LZO_MM_TINY 1 1229 #elif ((__MODEL__) == 4) 1230 # define LZO_MM_XTINY 1 1231 #elif ((__MODEL__) == 5) 1232 # define LZO_MM_XSMALL 1 1234 # error "FIXME - LZO_ARCH_C166 __MODEL__" 1236 #elif (LZO_ARCH_MCS251) 1237 #if !defined(__MODEL__) 1238 # error "FIXME - LZO_ARCH_MCS251 __MODEL__" 1239 #elif ((__MODEL__) == 0) 1240 # define LZO_MM_SMALL 1 1241 #elif ((__MODEL__) == 2) 1242 # define LZO_MM_LARGE 1 1243 #elif ((__MODEL__) == 3) 1244 # define LZO_MM_TINY 1 1245 #elif ((__MODEL__) == 4) 1246 # define LZO_MM_XTINY 1 1247 #elif ((__MODEL__) == 5) 1248 # define LZO_MM_XSMALL 1 1250 # error "FIXME - LZO_ARCH_MCS251 __MODEL__" 1252 #elif (LZO_ARCH_MCS51) 1253 #if !defined(__MODEL__) 1254 # error "FIXME - LZO_ARCH_MCS51 __MODEL__" 1255 #elif ((__MODEL__) == 1) 1256 # define LZO_MM_SMALL 1 1257 #elif ((__MODEL__) == 2) 1258 # define LZO_MM_LARGE 1 1259 #elif ((__MODEL__) == 3) 1260 # define LZO_MM_TINY 1 1261 #elif ((__MODEL__) == 4) 1262 # define LZO_MM_XTINY 1 1263 #elif ((__MODEL__) == 5) 1264 # define LZO_MM_XSMALL 1 1266 # error "FIXME - LZO_ARCH_MCS51 __MODEL__" 1268 #elif (LZO_ARCH_CRAY_PVP) 1269 # define LZO_MM_PVP 1 1271 # define LZO_MM_FLAT 1 1273 #if (LZO_MM_COMPACT) 1274 # define LZO_INFO_MM "compact" 1276 # define LZO_INFO_MM "flat" 1278 # define LZO_INFO_MM "huge" 1279 #elif (LZO_MM_LARGE) 1280 # define LZO_INFO_MM "large" 1281 #elif (LZO_MM_MEDIUM) 1282 # define LZO_INFO_MM "medium" 1284 # define LZO_INFO_MM "pvp" 1285 #elif (LZO_MM_SMALL) 1286 # define LZO_INFO_MM "small" 1288 # define LZO_INFO_MM "tiny" 1290 # error "unknown memory model" 1293 #if !defined(__lzo_gnuc_extension__) 1294 #if (LZO_CC_GNUC >= 0x020800ul) 1295 # define __lzo_gnuc_extension__ __extension__ 1296 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1297 # define __lzo_gnuc_extension__ __extension__ 1298 #elif (LZO_CC_IBMC >= 600) 1299 # define __lzo_gnuc_extension__ __extension__ 1302 #if !defined(__lzo_gnuc_extension__) 1303 # define __lzo_gnuc_extension__ 1305 #if !defined(lzo_has_builtin) 1306 #if (LZO_CC_CLANG) && defined(__has_builtin) 1307 # define lzo_has_builtin __has_builtin 1310 #if !defined(lzo_has_builtin) 1311 # define lzo_has_builtin(x) 0 1313 #if !defined(lzo_has_attribute) 1314 #if (LZO_CC_CLANG) && defined(__has_attribute) 1315 # define lzo_has_attribute __has_attribute 1318 #if !defined(lzo_has_attribute) 1319 # define lzo_has_attribute(x) 0 1321 #if !defined(lzo_has_declspec_attribute) 1322 #if (LZO_CC_CLANG) && defined(__has_declspec_attribute) 1323 # define lzo_has_declspec_attribute __has_declspec_attribute 1326 #if !defined(lzo_has_declspec_attribute) 1327 # define lzo_has_declspec_attribute(x) 0 1329 #if !defined(lzo_has_feature) 1330 #if (LZO_CC_CLANG) && defined(__has_feature) 1331 # define lzo_has_feature __has_feature 1334 #if !defined(lzo_has_feature) 1335 # define lzo_has_feature(x) 0 1337 #if !defined(lzo_has_extension) 1338 #if (LZO_CC_CLANG) && defined(__has_extension) 1339 # define lzo_has_extension __has_extension 1340 #elif (LZO_CC_CLANG) && defined(__has_feature) 1341 # define lzo_has_extension __has_feature 1344 #if !defined(lzo_has_extension) 1345 # define lzo_has_extension(x) 0 1347 #if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0 1348 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) 1349 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1350 # elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200)) 1351 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1353 # define LZO_CFG_USE_NEW_STYLE_CASTS 1 1356 #if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) 1357 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1359 #if !defined(__cplusplus) 1360 # if defined(LZO_CFG_USE_NEW_STYLE_CASTS) 1361 # undef LZO_CFG_USE_NEW_STYLE_CASTS 1363 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1365 #if !defined(LZO_REINTERPRET_CAST) 1366 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1367 # define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast<t> (e)) 1370 #if !defined(LZO_REINTERPRET_CAST) 1371 # define LZO_REINTERPRET_CAST(t,e) ((t) (e)) 1373 #if !defined(LZO_STATIC_CAST) 1374 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1375 # define LZO_STATIC_CAST(t,e) (static_cast<t> (e)) 1378 #if !defined(LZO_STATIC_CAST) 1379 # define LZO_STATIC_CAST(t,e) ((t) (e)) 1381 #if !defined(LZO_STATIC_CAST2) 1382 # define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e)) 1384 #if !defined(LZO_UNCONST_CAST) 1385 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1386 # define LZO_UNCONST_CAST(t,e) (const_cast<t> (e)) 1387 # elif (LZO_HAVE_MM_HUGE_PTR) 1388 # define LZO_UNCONST_CAST(t,e) ((t) (e)) 1389 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1390 # define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e))))) 1393 #if !defined(LZO_UNCONST_CAST) 1394 # define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))) 1396 #if !defined(LZO_UNCONST_VOLATILE_CAST) 1397 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1398 # define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast<t> (e)) 1399 # elif (LZO_HAVE_MM_HUGE_PTR) 1400 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e)) 1401 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1402 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) 1405 #if !defined(LZO_UNCONST_VOLATILE_CAST) 1406 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e)))) 1408 #if !defined(LZO_UNVOLATILE_CAST) 1409 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1410 # define LZO_UNVOLATILE_CAST(t,e) (const_cast<t> (e)) 1411 # elif (LZO_HAVE_MM_HUGE_PTR) 1412 # define LZO_UNVOLATILE_CAST(t,e) ((t) (e)) 1413 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1414 # define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e))))) 1417 #if !defined(LZO_UNVOLATILE_CAST) 1418 # define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e)))) 1420 #if !defined(LZO_UNVOLATILE_CONST_CAST) 1421 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1422 # define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast<t> (e)) 1423 # elif (LZO_HAVE_MM_HUGE_PTR) 1424 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e)) 1425 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1426 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) 1429 #if !defined(LZO_UNVOLATILE_CONST_CAST) 1430 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e)))) 1432 #if !defined(LZO_PCAST) 1433 # if (LZO_HAVE_MM_HUGE_PTR) 1434 # define LZO_PCAST(t,e) ((t) (e)) 1437 #if !defined(LZO_PCAST) 1438 # define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e)) 1440 #if !defined(LZO_CCAST) 1441 # if (LZO_HAVE_MM_HUGE_PTR) 1442 # define LZO_CCAST(t,e) ((t) (e)) 1445 #if !defined(LZO_CCAST) 1446 # define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e)) 1448 #if !defined(LZO_ICONV) 1449 # define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e) 1451 #if !defined(LZO_ICAST) 1452 # define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e) 1454 #if !defined(LZO_ITRUNC) 1455 # define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e) 1457 #if !defined(__lzo_cte) 1458 # if (LZO_CC_MSC || LZO_CC_WATCOMC) 1459 # define __lzo_cte(e) ((void)0,(e)) 1461 # define __lzo_cte(e) ((void)0,(e)) 1464 #if !defined(__lzo_cte) 1465 # define __lzo_cte(e) (e) 1467 #if !defined(LZO_BLOCK_BEGIN) 1468 # define LZO_BLOCK_BEGIN do { 1469 # define LZO_BLOCK_END } while __lzo_cte(0) 1471 #if !defined(LZO_UNUSED) 1472 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1473 # define LZO_UNUSED(var) ((void) &var) 1474 # elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) 1475 # define LZO_UNUSED(var) if (&var) ; else 1476 # elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul)) 1477 # define LZO_UNUSED(var) ((void) &var) 1478 # elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1479 # define LZO_UNUSED(var) ((void) var) 1480 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1481 # define LZO_UNUSED(var) if (&var) ; else 1482 # elif (LZO_CC_KEILC) 1483 # define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0)]; (void)lzo_unused__;} 1484 # elif (LZO_CC_PACIFICC) 1485 # define LZO_UNUSED(var) ((void) sizeof(var)) 1486 # elif (LZO_CC_WATCOMC) && defined(__cplusplus) 1487 # define LZO_UNUSED(var) ((void) var) 1489 # define LZO_UNUSED(var) ((void) &var) 1492 #if !defined(LZO_UNUSED_RESULT) 1493 # define LZO_UNUSED_RESULT(var) LZO_UNUSED(var) 1495 #if !defined(LZO_UNUSED_FUNC) 1496 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1497 # define LZO_UNUSED_FUNC(func) ((void) func) 1498 # elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) 1499 # define LZO_UNUSED_FUNC(func) if (func) ; else 1500 # elif (LZO_CC_CLANG || LZO_CC_LLVM) 1501 # define LZO_UNUSED_FUNC(func) ((void) &func) 1502 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1503 # define LZO_UNUSED_FUNC(func) if (func) ; else 1505 # define LZO_UNUSED_FUNC(func) ((void) &func) 1506 # elif (LZO_CC_KEILC || LZO_CC_PELLESC) 1507 # define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)func)>0)]; (void)lzo_unused__;} 1509 # define LZO_UNUSED_FUNC(func) ((void) func) 1512 #if !defined(LZO_UNUSED_LABEL) 1513 # if (LZO_CC_CLANG >= 0x020800ul) 1514 # define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l))) 1515 # elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) 1516 # define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l 1518 # define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l 1521 #if !defined(LZO_DEFINE_UNINITIALIZED_VAR) 1523 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var 1524 # elif 0 && (LZO_CC_GNUC) 1525 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var 1527 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init 1530 #if !defined(__lzo_inline) 1531 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) 1532 #elif defined(__cplusplus) 1533 # define __lzo_inline inline 1534 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) 1535 # define __lzo_inline inline 1536 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) 1537 # define __lzo_inline __inline 1538 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1539 # define __lzo_inline __inline__ 1541 # define __lzo_inline __inline 1543 # define __lzo_inline __inline__ 1544 #elif (LZO_CC_IBMC >= 600) 1545 # define __lzo_inline __inline__ 1546 #elif (LZO_CC_INTELC) 1547 # define __lzo_inline __inline 1548 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) 1549 # define __lzo_inline __inline 1550 #elif (LZO_CC_MSC && (_MSC_VER >= 900)) 1551 # define __lzo_inline __inline 1552 #elif (LZO_CC_SUNPROC >= 0x5100) 1553 # define __lzo_inline __inline__ 1556 #if defined(__lzo_inline) 1557 # ifndef __lzo_HAVE_inline 1558 # define __lzo_HAVE_inline 1 1561 # define __lzo_inline 1563 #if !defined(__lzo_forceinline) 1564 #if (LZO_CC_GNUC >= 0x030200ul) 1565 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1566 #elif (LZO_CC_IBMC >= 700) 1567 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1568 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) 1569 # define __lzo_forceinline __forceinline 1570 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1571 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1572 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1573 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1574 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1575 # define __lzo_forceinline __forceinline 1576 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1577 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1578 #elif (LZO_CC_SUNPROC >= 0x5100) 1579 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1582 #if defined(__lzo_forceinline) 1583 # ifndef __lzo_HAVE_forceinline 1584 # define __lzo_HAVE_forceinline 1 1587 # define __lzo_forceinline __lzo_inline 1589 #if !defined(__lzo_noinline) 1590 #if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) 1591 # define __lzo_noinline __attribute__((__noinline__,__used__)) 1592 #elif (LZO_CC_GNUC >= 0x030200ul) 1593 # define __lzo_noinline __attribute__((__noinline__)) 1594 #elif (LZO_CC_IBMC >= 700) 1595 # define __lzo_noinline __attribute__((__noinline__)) 1596 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) 1597 # define __lzo_noinline __declspec(noinline) 1598 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1599 # define __lzo_noinline __attribute__((__noinline__)) 1600 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1601 # define __lzo_noinline __attribute__((__noinline__)) 1602 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1603 # define __lzo_noinline __declspec(noinline) 1604 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 1605 # if defined(__cplusplus) 1607 # define __lzo_noinline __declspec(noinline) 1609 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1610 # define __lzo_noinline __attribute__((__noinline__)) 1611 #elif (LZO_CC_SUNPROC >= 0x5100) 1612 # define __lzo_noinline __attribute__((__noinline__)) 1615 #if defined(__lzo_noinline) 1616 # ifndef __lzo_HAVE_noinline 1617 # define __lzo_HAVE_noinline 1 1620 # define __lzo_noinline 1622 #if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) 1623 # error "unexpected configuration - check your compiler defines" 1625 #if !defined(__lzo_static_inline) 1627 # define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline 1630 #if !defined(__lzo_static_inline) 1631 # define __lzo_static_inline static __lzo_inline 1633 #if !defined(__lzo_static_forceinline) 1635 # define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline 1638 #if !defined(__lzo_static_forceinline) 1639 # define __lzo_static_forceinline static __lzo_forceinline 1641 #if !defined(__lzo_static_noinline) 1643 # define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline 1646 #if !defined(__lzo_static_noinline) 1647 # define __lzo_static_noinline static __lzo_noinline 1649 #if !defined(__lzo_c99_extern_inline) 1650 #if defined(__GNUC_GNU_INLINE__) 1651 # define __lzo_c99_extern_inline __lzo_inline 1652 #elif defined(__GNUC_STDC_INLINE__) 1653 # define __lzo_c99_extern_inline extern __lzo_inline 1654 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) 1655 # define __lzo_c99_extern_inline extern __lzo_inline 1657 #if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline) 1658 # define __lzo_c99_extern_inline __lzo_inline 1661 #if defined(__lzo_c99_extern_inline) 1662 # ifndef __lzo_HAVE_c99_extern_inline 1663 # define __lzo_HAVE_c99_extern_inline 1 1666 # define __lzo_c99_extern_inline 1668 #if !defined(__lzo_may_alias) 1669 #if (LZO_CC_GNUC >= 0x030400ul) 1670 # define __lzo_may_alias __attribute__((__may_alias__)) 1671 #elif (LZO_CC_CLANG >= 0x020900ul) 1672 # define __lzo_may_alias __attribute__((__may_alias__)) 1673 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0 1674 # define __lzo_may_alias __attribute__((__may_alias__)) 1675 #elif (LZO_CC_PGI >= 0x0d0a00ul) && 0 1676 # define __lzo_may_alias __attribute__((__may_alias__)) 1679 #if defined(__lzo_may_alias) 1680 # ifndef __lzo_HAVE_may_alias 1681 # define __lzo_HAVE_may_alias 1 1684 # define __lzo_may_alias 1686 #if !defined(__lzo_noreturn) 1687 #if (LZO_CC_GNUC >= 0x020700ul) 1688 # define __lzo_noreturn __attribute__((__noreturn__)) 1689 #elif (LZO_CC_IBMC >= 700) 1690 # define __lzo_noreturn __attribute__((__noreturn__)) 1691 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) 1692 # define __lzo_noreturn __declspec(noreturn) 1693 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) 1694 # define __lzo_noreturn __attribute__((__noreturn__)) 1695 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1696 # define __lzo_noreturn __attribute__((__noreturn__)) 1697 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1698 # define __lzo_noreturn __declspec(noreturn) 1699 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1700 # define __lzo_noreturn __attribute__((__noreturn__)) 1703 #if defined(__lzo_noreturn) 1704 # ifndef __lzo_HAVE_noreturn 1705 # define __lzo_HAVE_noreturn 1 1708 # define __lzo_noreturn 1710 #if !defined(__lzo_nothrow) 1711 #if (LZO_CC_GNUC >= 0x030300ul) 1712 # define __lzo_nothrow __attribute__((__nothrow__)) 1713 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus) 1714 # define __lzo_nothrow __declspec(nothrow) 1715 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900)) 1716 # define __lzo_nothrow __attribute__((__nothrow__)) 1717 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1718 # define __lzo_nothrow __attribute__((__nothrow__)) 1719 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) 1720 # define __lzo_nothrow __declspec(nothrow) 1723 #if defined(__lzo_nothrow) 1724 # ifndef __lzo_HAVE_nothrow 1725 # define __lzo_HAVE_nothrow 1 1728 # define __lzo_nothrow 1730 #if !defined(__lzo_restrict) 1731 #if (LZO_CC_GNUC >= 0x030400ul) 1732 # define __lzo_restrict __restrict__ 1733 #elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus) 1734 # define __lzo_restrict __restrict__ 1735 #elif (LZO_CC_IBMC >= 1210) 1736 # define __lzo_restrict __restrict__ 1737 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) 1738 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) 1739 # define __lzo_restrict __restrict__ 1740 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM) 1741 # define __lzo_restrict __restrict__ 1742 #elif (LZO_CC_MSC && (_MSC_VER >= 1400)) 1743 # define __lzo_restrict __restrict 1744 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1745 # define __lzo_restrict __restrict__ 1748 #if defined(__lzo_restrict) 1749 # ifndef __lzo_HAVE_restrict 1750 # define __lzo_HAVE_restrict 1 1753 # define __lzo_restrict 1755 #if !defined(__lzo_alignof) 1756 #if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1757 # define __lzo_alignof(e) __alignof__(e) 1758 #elif (LZO_CC_GHS) && !defined(__cplusplus) 1759 # define __lzo_alignof(e) __alignof__(e) 1760 #elif (LZO_CC_IBMC >= 600) 1761 # define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e)) 1762 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) 1763 # define __lzo_alignof(e) __alignof__(e) 1764 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1765 # define __lzo_alignof(e) __alignof(e) 1766 #elif (LZO_CC_SUNPROC >= 0x5100) 1767 # define __lzo_alignof(e) __alignof__(e) 1770 #if defined(__lzo_alignof) 1771 # ifndef __lzo_HAVE_alignof 1772 # define __lzo_HAVE_alignof 1 1775 #if !defined(__lzo_struct_packed) 1776 #if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1777 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) 1778 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) 1779 #elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) 1780 #elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) 1781 #elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 1782 # define __lzo_struct_packed(s) struct s { 1783 # define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__)); 1784 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__)); 1785 #elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) 1786 # define __lzo_struct_packed(s) struct s { 1787 # define __lzo_struct_packed_end() } __attribute__((__packed__)); 1788 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); 1789 #elif (LZO_CC_IBMC >= 700) 1790 # define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s { 1791 # define __lzo_struct_packed_end() } __attribute__((__packed__)); 1792 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); 1793 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1794 # define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s { 1795 # define __lzo_struct_packed_end() } __pragma(pack(pop)); 1796 #elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) 1797 # define __lzo_struct_packed(s) _Packed struct s { 1798 # define __lzo_struct_packed_end() }; 1801 #if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma) 1802 # define __lzo_struct_packed_ma(s) __lzo_struct_packed(s) 1804 #if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end) 1805 # define __lzo_struct_packed_ma_end() __lzo_struct_packed_end() 1807 #if !defined(__lzo_byte_struct) 1808 #if defined(__lzo_struct_packed) 1809 # define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end() 1810 # define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end() 1811 #elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100)) 1812 # define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__)); 1813 # define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__)); 1816 #if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma) 1817 # define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n) 1819 #if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof) 1820 #if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)) 1821 #elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1822 #elif (LZO_CC_CILLY || LZO_CC_PCC) 1823 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1824 # define __lzo_struct_align16(s) struct __declspec(align(16)) s { 1825 # define __lzo_struct_align16_end() }; 1826 # define __lzo_struct_align32(s) struct __declspec(align(32)) s { 1827 # define __lzo_struct_align32_end() }; 1828 # define __lzo_struct_align64(s) struct __declspec(align(64)) s { 1829 # define __lzo_struct_align64_end() }; 1830 #elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1831 # define __lzo_struct_align16(s) struct s { 1832 # define __lzo_struct_align16_end() } __attribute__((__aligned__(16))); 1833 # define __lzo_struct_align32(s) struct s { 1834 # define __lzo_struct_align32_end() } __attribute__((__aligned__(32))); 1835 # define __lzo_struct_align64(s) struct s { 1836 # define __lzo_struct_align64_end() } __attribute__((__aligned__(64))); 1839 #if !defined(__lzo_union_um) 1840 #if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1841 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) 1842 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) 1843 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810)) 1844 #elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) 1845 #elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) 1846 #elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) 1847 # define __lzo_union_am(s) union s { 1848 # define __lzo_union_am_end() } __lzo_may_alias; 1849 # define __lzo_union_um(s) union s { 1850 # define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); 1851 #elif (LZO_CC_IBMC >= 700) 1852 # define __lzo_union_am(s) __lzo_gnuc_extension__ union s { 1853 # define __lzo_union_am_end() } __lzo_may_alias; 1854 # define __lzo_union_um(s) __lzo_gnuc_extension__ union s { 1855 # define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); 1856 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1857 # define __lzo_union_um(s) __pragma(pack(push,1)) union s { 1858 # define __lzo_union_um_end() } __pragma(pack(pop)); 1859 #elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) 1860 # define __lzo_union_um(s) _Packed union s { 1861 # define __lzo_union_um_end() }; 1864 #if !defined(__lzo_union_am) 1865 # define __lzo_union_am(s) union s { 1866 # define __lzo_union_am_end() }; 1868 #if !defined(__lzo_constructor) 1869 #if (LZO_CC_GNUC >= 0x030400ul) 1870 # define __lzo_constructor __attribute__((__constructor__,__used__)) 1871 #elif (LZO_CC_GNUC >= 0x020700ul) 1872 # define __lzo_constructor __attribute__((__constructor__)) 1873 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1874 # define __lzo_constructor __attribute__((__constructor__,__used__)) 1875 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1876 # define __lzo_constructor __attribute__((__constructor__)) 1879 #if defined(__lzo_constructor) 1880 # ifndef __lzo_HAVE_constructor 1881 # define __lzo_HAVE_constructor 1 1884 #if !defined(__lzo_destructor) 1885 #if (LZO_CC_GNUC >= 0x030400ul) 1886 # define __lzo_destructor __attribute__((__destructor__,__used__)) 1887 #elif (LZO_CC_GNUC >= 0x020700ul) 1888 # define __lzo_destructor __attribute__((__destructor__)) 1889 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1890 # define __lzo_destructor __attribute__((__destructor__,__used__)) 1891 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1892 # define __lzo_destructor __attribute__((__destructor__)) 1895 #if defined(__lzo_destructor) 1896 # ifndef __lzo_HAVE_destructor 1897 # define __lzo_HAVE_destructor 1 1900 #if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) 1901 # error "unexpected configuration - check your compiler defines" 1903 #if !defined(__lzo_likely) && !defined(__lzo_unlikely) 1904 #if (LZO_CC_GNUC >= 0x030200ul) 1905 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1906 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1907 #elif (LZO_CC_IBMC >= 1010) 1908 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1909 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1910 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 1911 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1912 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1913 #elif (LZO_CC_CLANG && LZO_CC_CLANG_C2) 1914 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1915 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1916 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1919 #if defined(__lzo_likely) 1920 # ifndef __lzo_HAVE_likely 1921 # define __lzo_HAVE_likely 1 1924 # define __lzo_likely(e) (e) 1926 #if defined(__lzo_very_likely) 1927 # ifndef __lzo_HAVE_very_likely 1928 # define __lzo_HAVE_very_likely 1 1931 # define __lzo_very_likely(e) __lzo_likely(e) 1933 #if defined(__lzo_unlikely) 1934 # ifndef __lzo_HAVE_unlikely 1935 # define __lzo_HAVE_unlikely 1 1938 # define __lzo_unlikely(e) (e) 1940 #if defined(__lzo_very_unlikely) 1941 # ifndef __lzo_HAVE_very_unlikely 1942 # define __lzo_HAVE_very_unlikely 1 1945 # define __lzo_very_unlikely(e) __lzo_unlikely(e) 1947 #if !defined(__lzo_loop_forever) 1949 # define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END 1951 # define __lzo_loop_forever() do { ; } while __lzo_cte(1) 1954 #if !defined(__lzo_unreachable) 1955 #if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_unreachable) 1956 # define __lzo_unreachable() __builtin_unreachable(); 1957 #elif (LZO_CC_GNUC >= 0x040500ul) 1958 # define __lzo_unreachable() __builtin_unreachable(); 1959 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1 1960 # define __lzo_unreachable() __builtin_unreachable(); 1963 #if defined(__lzo_unreachable) 1964 # ifndef __lzo_HAVE_unreachable 1965 # define __lzo_HAVE_unreachable 1 1969 # define __lzo_unreachable() ((void)0); 1971 # define __lzo_unreachable() __lzo_loop_forever(); 1974 #if !defined(lzo_unused_funcs_impl) 1975 # if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1976 # define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f 1977 # elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC) 1978 # define lzo_unused_funcs_impl(r,f) static r f 1980 # define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f 1983 #ifndef __LZO_CTA_NAME 1984 #if (LZO_CFG_USE_COUNTER) 1985 # define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__) 1987 # define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__) 1990 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) 1991 # if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) 1992 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END 1993 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1994 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END 1995 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1996 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END 1997 # elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus) 1998 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END 1999 # elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) 2000 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END 2002 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END 2005 #if !defined(LZO_COMPILE_TIME_ASSERT) 2006 # if (LZO_CC_AZTECC) 2007 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];} 2008 # elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul)) 2009 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} 2010 # elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 2011 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 2012 # elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) 2013 # define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));} 2014 # elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus) 2015 # define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));} 2016 # elif (LZO_CC_GNUC >= 0x040700ul) 2017 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} 2018 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 2019 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 2020 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 2021 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 2023 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];} 2026 #if (LZO_LANG_ASSEMBLER) 2027 # undef LZO_COMPILE_TIME_ASSERT_HEADER 2028 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) 2031 #if defined(__cplusplus) 2036 #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) 2037 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) 2038 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 2039 # define __lzo_cdecl __cdecl 2040 # define __lzo_cdecl_atexit 2041 # define __lzo_cdecl_main __cdecl 2042 # if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 2043 # define __lzo_cdecl_qsort __pascal 2044 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 2045 # define __lzo_cdecl_qsort _stdcall 2047 # define __lzo_cdecl_qsort __cdecl 2049 # elif (LZO_CC_WATCOMC) 2050 # define __lzo_cdecl __cdecl 2052 # define __lzo_cdecl __cdecl 2053 # define __lzo_cdecl_atexit __cdecl 2054 # define __lzo_cdecl_main __cdecl 2055 # define __lzo_cdecl_qsort __cdecl 2057 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) 2058 # elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 2059 # define __lzo_cdecl_sighandler __pascal 2060 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 2061 # define __lzo_cdecl_sighandler _stdcall 2062 # elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) 2063 # define __lzo_cdecl_sighandler __clrcall 2064 # elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) 2066 # define __lzo_cdecl_sighandler _far _cdecl _loadds 2068 # define __lzo_cdecl_sighandler _far _cdecl 2070 # define __lzo_cdecl_sighandler _cdecl 2073 # define __lzo_cdecl_sighandler __cdecl 2075 #elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) 2076 # define __lzo_cdecl __cdecl 2077 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) 2078 # define __lzo_cdecl cdecl 2080 #if !defined(__lzo_cdecl) 2081 # define __lzo_cdecl 2083 #if !defined(__lzo_cdecl_atexit) 2084 # define __lzo_cdecl_atexit 2086 #if !defined(__lzo_cdecl_main) 2087 # define __lzo_cdecl_main 2089 #if !defined(__lzo_cdecl_qsort) 2090 # define __lzo_cdecl_qsort 2092 #if !defined(__lzo_cdecl_sighandler) 2093 # define __lzo_cdecl_sighandler 2095 #if !defined(__lzo_cdecl_va) 2096 # define __lzo_cdecl_va __lzo_cdecl 2098 #if !(LZO_CFG_NO_WINDOWS_H) 2099 #if !defined(LZO_HAVE_WINDOWS_H) 2100 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) 2101 # if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) 2102 # elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))) 2103 # elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) 2105 # define LZO_HAVE_WINDOWS_H 1 2110 #define LZO_SIZEOF_CHAR 1 2111 #ifndef LZO_SIZEOF_SHORT 2112 #if defined(SIZEOF_SHORT) 2113 # define LZO_SIZEOF_SHORT (SIZEOF_SHORT) 2114 #elif defined(__SIZEOF_SHORT__) 2115 # define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__) 2118 #ifndef LZO_SIZEOF_INT 2119 #if defined(SIZEOF_INT) 2120 # define LZO_SIZEOF_INT (SIZEOF_INT) 2121 #elif defined(__SIZEOF_INT__) 2122 # define LZO_SIZEOF_INT (__SIZEOF_INT__) 2125 #ifndef LZO_SIZEOF_LONG 2126 #if defined(SIZEOF_LONG) 2127 # define LZO_SIZEOF_LONG (SIZEOF_LONG) 2128 #elif defined(__SIZEOF_LONG__) 2129 # define LZO_SIZEOF_LONG (__SIZEOF_LONG__) 2132 #ifndef LZO_SIZEOF_LONG_LONG 2133 #if defined(SIZEOF_LONG_LONG) 2134 # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) 2135 #elif defined(__SIZEOF_LONG_LONG__) 2136 # define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__) 2139 #ifndef LZO_SIZEOF___INT16 2140 #if defined(SIZEOF___INT16) 2141 # define LZO_SIZEOF___INT16 (SIZEOF___INT16) 2144 #ifndef LZO_SIZEOF___INT32 2145 #if defined(SIZEOF___INT32) 2146 # define LZO_SIZEOF___INT32 (SIZEOF___INT32) 2149 #ifndef LZO_SIZEOF___INT64 2150 #if defined(SIZEOF___INT64) 2151 # define LZO_SIZEOF___INT64 (SIZEOF___INT64) 2154 #ifndef LZO_SIZEOF_VOID_P 2155 #if defined(SIZEOF_VOID_P) 2156 # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) 2157 #elif defined(__SIZEOF_POINTER__) 2158 # define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__) 2161 #ifndef LZO_SIZEOF_SIZE_T 2162 #if defined(SIZEOF_SIZE_T) 2163 # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) 2164 #elif defined(__SIZEOF_SIZE_T__) 2165 # define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__) 2168 #ifndef LZO_SIZEOF_PTRDIFF_T 2169 #if defined(SIZEOF_PTRDIFF_T) 2170 # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) 2171 #elif defined(__SIZEOF_PTRDIFF_T__) 2172 # define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__) 2175 #define __LZO_LSR(x,b) (((x)+0ul) >> (b)) 2176 #if !defined(LZO_SIZEOF_SHORT) 2177 # if (LZO_ARCH_CRAY_PVP) 2178 # define LZO_SIZEOF_SHORT 8 2179 # elif (USHRT_MAX == LZO_0xffffL) 2180 # define LZO_SIZEOF_SHORT 2 2181 # elif (__LZO_LSR(USHRT_MAX,7) == 1) 2182 # define LZO_SIZEOF_SHORT 1 2183 # elif (__LZO_LSR(USHRT_MAX,15) == 1) 2184 # define LZO_SIZEOF_SHORT 2 2185 # elif (__LZO_LSR(USHRT_MAX,31) == 1) 2186 # define LZO_SIZEOF_SHORT 4 2187 # elif (__LZO_LSR(USHRT_MAX,63) == 1) 2188 # define LZO_SIZEOF_SHORT 8 2189 # elif (__LZO_LSR(USHRT_MAX,127) == 1) 2190 # define LZO_SIZEOF_SHORT 16 2192 # error "LZO_SIZEOF_SHORT" 2196 #if !defined(LZO_SIZEOF_INT) 2197 # if (LZO_ARCH_CRAY_PVP) 2198 # define LZO_SIZEOF_INT 8 2199 # elif (UINT_MAX == LZO_0xffffL) 2200 # define LZO_SIZEOF_INT 2 2201 # elif (UINT_MAX == LZO_0xffffffffL) 2202 # define LZO_SIZEOF_INT 4 2203 # elif (__LZO_LSR(UINT_MAX,7) == 1) 2204 # define LZO_SIZEOF_INT 1 2205 # elif (__LZO_LSR(UINT_MAX,15) == 1) 2206 # define LZO_SIZEOF_INT 2 2207 # elif (__LZO_LSR(UINT_MAX,31) == 1) 2208 # define LZO_SIZEOF_INT 4 2209 # elif (__LZO_LSR(UINT_MAX,63) == 1) 2210 # define LZO_SIZEOF_INT 8 2211 # elif (__LZO_LSR(UINT_MAX,127) == 1) 2212 # define LZO_SIZEOF_INT 16 2214 # error "LZO_SIZEOF_INT" 2218 #if !defined(LZO_SIZEOF_LONG) 2219 # if (ULONG_MAX == LZO_0xffffffffL) 2220 # define LZO_SIZEOF_LONG 4 2221 # elif (__LZO_LSR(ULONG_MAX,7) == 1) 2222 # define LZO_SIZEOF_LONG 1 2223 # elif (__LZO_LSR(ULONG_MAX,15) == 1) 2224 # define LZO_SIZEOF_LONG 2 2225 # elif (__LZO_LSR(ULONG_MAX,31) == 1) 2226 # define LZO_SIZEOF_LONG 4 2227 # elif (__LZO_LSR(ULONG_MAX,39) == 1) 2228 # define LZO_SIZEOF_LONG 5 2229 # elif (__LZO_LSR(ULONG_MAX,63) == 1) 2230 # define LZO_SIZEOF_LONG 8 2231 # elif (__LZO_LSR(ULONG_MAX,127) == 1) 2232 # define LZO_SIZEOF_LONG 16 2234 # error "LZO_SIZEOF_LONG" 2238 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 2239 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 2240 # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) 2241 # if (LZO_CC_GNUC >= 0x030300ul) 2242 # if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0)) 2243 # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG 2244 # elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) 2245 # define LZO_SIZEOF_LONG_LONG 4 2251 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 2252 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 2253 #if (LZO_ARCH_I086 && LZO_CC_DMC) 2254 #elif (LZO_CC_CILLY) && defined(__GNUC__) 2255 # define LZO_SIZEOF_LONG_LONG 8 2256 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 2257 # define LZO_SIZEOF_LONG_LONG 8 2258 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) 2259 # define LZO_SIZEOF_LONG_LONG 8 2260 #elif (LZO_OS_WIN64 || defined(_WIN64)) 2261 # define LZO_SIZEOF___INT64 8 2262 #elif (LZO_ARCH_I386 && (LZO_CC_DMC)) 2263 # define LZO_SIZEOF_LONG_LONG 8 2264 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) 2265 # define LZO_SIZEOF_LONG_LONG 8 2266 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) 2267 # define LZO_SIZEOF_LONG_LONG 8 2268 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) 2269 # define LZO_SIZEOF_LONG_LONG 8 2270 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) 2271 # define LZO_SIZEOF___INT64 8 2272 #elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) 2273 # define LZO_SIZEOF___INT64 8 2274 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) 2275 # define LZO_SIZEOF___INT64 8 2276 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) 2277 # define LZO_SIZEOF___INT64 8 2278 #elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64)) 2279 # define LZO_SIZEOF_LONG_LONG 8 2280 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64)) 2281 # define LZO_SIZEOF___INT64 8 2282 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 2283 # define LZO_SIZEOF_LONG_LONG 8 2284 #elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64) 2285 # define LZO_SIZEOF_LONG_LONG 8 2286 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) 2287 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 2288 # define LZO_SIZEOF_LONG_LONG 8 2292 #if defined(__cplusplus) && (LZO_CC_GNUC) 2293 # if (LZO_CC_GNUC < 0x020800ul) 2294 # undef LZO_SIZEOF_LONG_LONG 2297 #if (LZO_CFG_NO_LONG_LONG) 2298 # undef LZO_SIZEOF_LONG_LONG 2299 #elif defined(__NO_LONG_LONG) 2300 # undef LZO_SIZEOF_LONG_LONG 2301 #elif defined(_NO_LONGLONG) 2302 # undef LZO_SIZEOF_LONG_LONG 2304 #if !defined(LZO_WORDSIZE) 2305 #if (LZO_ARCH_ALPHA) 2306 # define LZO_WORDSIZE 8 2307 #elif (LZO_ARCH_AMD64) 2308 # define LZO_WORDSIZE 8 2309 #elif (LZO_ARCH_ARM64) 2310 # define LZO_WORDSIZE 8 2311 #elif (LZO_ARCH_AVR) 2312 # define LZO_WORDSIZE 1 2313 #elif (LZO_ARCH_H8300) 2314 # if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 2315 # define LZO_WORDSIZE 4 2317 # define LZO_WORDSIZE 2 2319 #elif (LZO_ARCH_I086) 2320 # define LZO_WORDSIZE 2 2321 #elif (LZO_ARCH_IA64) 2322 # define LZO_WORDSIZE 8 2323 #elif (LZO_ARCH_M16C) 2324 # define LZO_WORDSIZE 2 2325 #elif (LZO_ARCH_SPU) 2326 # define LZO_WORDSIZE 4 2327 #elif (LZO_ARCH_Z80) 2328 # define LZO_WORDSIZE 1 2329 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 2330 # define LZO_WORDSIZE 8 2331 #elif (LZO_OS_OS400 || defined(__OS400__)) 2332 # define LZO_WORDSIZE 8 2333 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 2334 # define LZO_WORDSIZE 8 2337 #if !defined(LZO_SIZEOF_VOID_P) 2338 #if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32) 2341 # define LZO_SIZEOF_VOID_P 4 2342 #elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64) 2345 # define LZO_SIZEOF_VOID_P 8 2346 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) 2348 # define LZO_SIZEOF_VOID_P 8 2349 #elif defined(__LP64__) || defined(__LP64) || defined(_LP64) 2351 # define LZO_SIZEOF_VOID_P 8 2352 #elif (LZO_ARCH_AVR) 2353 # define LZO_SIZEOF_VOID_P 2 2354 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) 2355 # define LZO_SIZEOF_VOID_P 2 2356 #elif (LZO_ARCH_H8300) 2357 # if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 2359 # if defined(__NORMAL_MODE__) 2360 # define LZO_SIZEOF_VOID_P 2 2362 # define LZO_SIZEOF_VOID_P 4 2366 # define LZO_SIZEOF_VOID_P 2 2368 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) 2369 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT 2370 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT 2372 #elif (LZO_ARCH_I086) 2373 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) 2374 # define LZO_SIZEOF_VOID_P 2 2375 # elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) 2376 # define LZO_SIZEOF_VOID_P 4 2378 # error "invalid LZO_ARCH_I086 memory model" 2380 #elif (LZO_ARCH_M16C) 2381 # if defined(__m32c_cpu__) || defined(__m32cm_cpu__) 2382 # define LZO_SIZEOF_VOID_P 4 2384 # define LZO_SIZEOF_VOID_P 2 2386 #elif (LZO_ARCH_SPU) 2387 # define LZO_SIZEOF_VOID_P 4 2388 #elif (LZO_ARCH_Z80) 2389 # define LZO_SIZEOF_VOID_P 2 2390 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 2391 # define LZO_SIZEOF_VOID_P 4 2392 #elif (LZO_OS_OS400 || defined(__OS400__)) 2393 # if defined(__LLP64_IFC__) 2394 # define LZO_SIZEOF_VOID_P 8 2395 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2396 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2398 # define LZO_SIZEOF_VOID_P 16 2399 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2400 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2402 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 2403 # define LZO_SIZEOF_VOID_P 8 2404 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2405 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2408 #if !defined(LZO_SIZEOF_VOID_P) 2409 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 2412 #if !defined(LZO_SIZEOF_SIZE_T) 2413 #if (LZO_ARCH_I086 || LZO_ARCH_M16C) 2414 # define LZO_SIZEOF_SIZE_T 2 2417 #if !defined(LZO_SIZEOF_SIZE_T) 2418 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P 2420 #if defined(offsetof) 2423 #if !defined(LZO_SIZEOF_PTRDIFF_T) 2425 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) 2426 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P 2427 # elif (LZO_MM_COMPACT || LZO_MM_LARGE) 2428 # if (LZO_CC_BORLANDC || LZO_CC_TURBOC) 2429 # define LZO_SIZEOF_PTRDIFF_T 4 2431 # define LZO_SIZEOF_PTRDIFF_T 2 2434 # error "invalid LZO_ARCH_I086 memory model" 2438 #if !defined(LZO_SIZEOF_PTRDIFF_T) 2439 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T 2441 #if defined(offsetof) 2444 #if !defined(LZO_WORDSIZE) 2445 # define LZO_WORDSIZE LZO_SIZEOF_VOID_P 2447 #if (LZO_ABI_NEUTRAL_ENDIAN) 2448 # undef LZO_ABI_BIG_ENDIAN 2449 # undef LZO_ABI_LITTLE_ENDIAN 2450 #elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) 2451 #if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) 2452 # define LZO_ABI_BIG_ENDIAN 1 2453 #elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) 2454 # define LZO_ABI_LITTLE_ENDIAN 1 2455 #elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV) 2456 # define LZO_ABI_LITTLE_ENDIAN 1 2457 #elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU) 2458 # define LZO_ABI_BIG_ENDIAN 1 2459 #elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) 2460 # if (__LITTLE_ENDIAN__ == 1) 2461 # define LZO_ABI_LITTLE_ENDIAN 1 2463 # define LZO_ABI_BIG_ENDIAN 1 2465 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 2466 # define LZO_ABI_BIG_ENDIAN 1 2467 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) 2468 # define LZO_ABI_LITTLE_ENDIAN 1 2469 #elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) 2470 # define LZO_ABI_BIG_ENDIAN 1 2471 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) 2472 # define LZO_ABI_BIG_ENDIAN 1 2473 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) 2474 # define LZO_ABI_LITTLE_ENDIAN 1 2475 #elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32) 2476 # define LZO_ABI_LITTLE_ENDIAN 1 2477 #elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC) 2478 # if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) 2479 # error "unexpected configuration - check your compiler defines" 2480 # elif defined(__BIG_ENDIAN) 2481 # define LZO_ABI_BIG_ENDIAN 1 2483 # define LZO_ABI_LITTLE_ENDIAN 1 2485 # define LZO_ABI_LITTLE_ENDIAN 1 2486 #elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) 2487 # define LZO_ABI_BIG_ENDIAN 1 2488 #elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__) 2489 # define LZO_ABI_BIG_ENDIAN 1 2490 #elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__) 2491 # define LZO_ABI_LITTLE_ENDIAN 1 2492 #elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32) 2493 # define LZO_ABI_LITTLE_ENDIAN 1 2494 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) 2495 # define LZO_ABI_BIG_ENDIAN 1 2496 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) 2497 # define LZO_ABI_LITTLE_ENDIAN 1 2500 #if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) 2501 # error "unexpected configuration - check your compiler defines" 2503 #if (LZO_ABI_BIG_ENDIAN) 2504 # define LZO_INFO_ABI_ENDIAN "be" 2505 #elif (LZO_ABI_LITTLE_ENDIAN) 2506 # define LZO_INFO_ABI_ENDIAN "le" 2507 #elif (LZO_ABI_NEUTRAL_ENDIAN) 2508 # define LZO_INFO_ABI_ENDIAN "neutral" 2510 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 2511 # define LZO_ABI_I8LP16 1 2512 # define LZO_INFO_ABI_PM "i8lp16" 2513 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 2514 # define LZO_ABI_ILP16 1 2515 # define LZO_INFO_ABI_PM "ilp16" 2516 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 2517 # define LZO_ABI_LP32 1 2518 # define LZO_INFO_ABI_PM "lp32" 2519 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 2520 # define LZO_ABI_ILP32 1 2521 # define LZO_INFO_ABI_PM "ilp32" 2522 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) 2523 # define LZO_ABI_LLP64 1 2524 # define LZO_INFO_ABI_PM "llp64" 2525 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 2526 # define LZO_ABI_LP64 1 2527 # define LZO_INFO_ABI_PM "lp64" 2528 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 2529 # define LZO_ABI_ILP64 1 2530 # define LZO_INFO_ABI_PM "ilp64" 2531 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) 2532 # define LZO_ABI_IP32L64 1 2533 # define LZO_INFO_ABI_PM "ip32l64" 2535 #if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8) 2536 # define LZO_ABI_IP32W64 1 2537 # ifndef LZO_INFO_ABI_PM 2538 # define LZO_INFO_ABI_PM "ip32w64" 2542 #elif !defined(__LZO_LIBC_OVERRIDE) 2543 #if (LZO_LIBC_NAKED) 2544 # define LZO_INFO_LIBC "naked" 2545 #elif (LZO_LIBC_FREESTANDING) 2546 # define LZO_INFO_LIBC "freestanding" 2547 #elif (LZO_LIBC_MOSTLY_FREESTANDING) 2548 # define LZO_INFO_LIBC "mfreestanding" 2549 #elif (LZO_LIBC_ISOC90) 2550 # define LZO_INFO_LIBC "isoc90" 2551 #elif (LZO_LIBC_ISOC99) 2552 # define LZO_INFO_LIBC "isoc99" 2553 #elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION) 2554 # define LZO_LIBC_ISOC90 1 2555 # define LZO_INFO_LIBC "isoc90" 2556 #elif defined(__dietlibc__) 2557 # define LZO_LIBC_DIETLIBC 1 2558 # define LZO_INFO_LIBC "dietlibc" 2559 #elif defined(_NEWLIB_VERSION) 2560 # define LZO_LIBC_NEWLIB 1 2561 # define LZO_INFO_LIBC "newlib" 2562 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) 2563 # if defined(__UCLIBC_SUBLEVEL__) 2564 # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0)) 2566 # define LZO_LIBC_UCLIBC 0x00090bL 2568 # define LZO_INFO_LIBC "uc" "libc" 2569 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) 2570 # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100) 2571 # define LZO_INFO_LIBC "glibc" 2572 #elif (LZO_CC_MWERKS) && defined(__MSL__) 2573 # define LZO_LIBC_MSL __MSL__ 2574 # define LZO_INFO_LIBC "msl" 2575 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 2576 # define LZO_LIBC_ISOC90 1 2577 # define LZO_INFO_LIBC "isoc90" 2579 # define LZO_LIBC_DEFAULT 1 2580 # define LZO_INFO_LIBC "default" 2583 #if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 2584 # define LZO_ASM_SYNTAX_MSC 1 2585 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 2586 #elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) 2587 #elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 2588 # define LZO_ASM_SYNTAX_GNUC 1 2589 #elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 2590 # define LZO_ASM_SYNTAX_GNUC 1 2592 # define LZO_ASM_SYNTAX_GNUC 1 2594 #if (LZO_ASM_SYNTAX_GNUC) 2595 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) 2596 # define __LZO_ASM_CLOBBER "ax" 2597 # define __LZO_ASM_CLOBBER_LIST_CC 2598 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY 2599 # define __LZO_ASM_CLOBBER_LIST_EMPTY 2600 #elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000)) 2601 # define __LZO_ASM_CLOBBER "memory" 2602 # define __LZO_ASM_CLOBBER_LIST_CC 2603 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory" 2604 # define __LZO_ASM_CLOBBER_LIST_EMPTY 2606 # define __LZO_ASM_CLOBBER "cc", "memory" 2607 # define __LZO_ASM_CLOBBER_LIST_CC : "cc" 2608 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory" 2609 # define __LZO_ASM_CLOBBER_LIST_EMPTY 2612 #if (LZO_ARCH_ALPHA) 2613 # define LZO_OPT_AVOID_UINT_INDEX 1 2614 #elif (LZO_ARCH_AMD64) 2615 # define LZO_OPT_AVOID_INT_INDEX 1 2616 # define LZO_OPT_AVOID_UINT_INDEX 1 2617 # ifndef LZO_OPT_UNALIGNED16 2618 # define LZO_OPT_UNALIGNED16 1 2620 # ifndef LZO_OPT_UNALIGNED32 2621 # define LZO_OPT_UNALIGNED32 1 2623 # ifndef LZO_OPT_UNALIGNED64 2624 # define LZO_OPT_UNALIGNED64 1 2626 #elif (LZO_ARCH_ARM) 2627 # if defined(__ARM_FEATURE_UNALIGNED) 2628 # if ((__ARM_FEATURE_UNALIGNED)+0) 2629 # ifndef LZO_OPT_UNALIGNED16 2630 # define LZO_OPT_UNALIGNED16 1 2632 # ifndef LZO_OPT_UNALIGNED32 2633 # define LZO_OPT_UNALIGNED32 1 2636 # elif 1 && (LZO_ARCH_ARM_THUMB2) 2637 # ifndef LZO_OPT_UNALIGNED16 2638 # define LZO_OPT_UNALIGNED16 1 2640 # ifndef LZO_OPT_UNALIGNED32 2641 # define LZO_OPT_UNALIGNED32 1 2643 # elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7) 2644 # ifndef LZO_OPT_UNALIGNED16 2645 # define LZO_OPT_UNALIGNED16 1 2647 # ifndef LZO_OPT_UNALIGNED32 2648 # define LZO_OPT_UNALIGNED32 1 2650 # elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7) 2651 # ifndef LZO_OPT_UNALIGNED16 2652 # define LZO_OPT_UNALIGNED16 1 2654 # ifndef LZO_OPT_UNALIGNED32 2655 # define LZO_OPT_UNALIGNED32 1 2657 # elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defined(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R)) 2658 # ifndef LZO_OPT_UNALIGNED16 2659 # define LZO_OPT_UNALIGNED16 1 2661 # ifndef LZO_OPT_UNALIGNED32 2662 # define LZO_OPT_UNALIGNED32 1 2664 # elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7) 2665 # ifndef LZO_OPT_UNALIGNED16 2666 # define LZO_OPT_UNALIGNED16 1 2668 # ifndef LZO_OPT_UNALIGNED32 2669 # define LZO_OPT_UNALIGNED32 1 2672 #elif (LZO_ARCH_ARM64) 2673 # ifndef LZO_OPT_UNALIGNED16 2674 # define LZO_OPT_UNALIGNED16 1 2676 # ifndef LZO_OPT_UNALIGNED32 2677 # define LZO_OPT_UNALIGNED32 1 2679 # ifndef LZO_OPT_UNALIGNED64 2680 # define LZO_OPT_UNALIGNED64 1 2682 #elif (LZO_ARCH_CRIS) 2683 # ifndef LZO_OPT_UNALIGNED16 2684 # define LZO_OPT_UNALIGNED16 1 2686 # ifndef LZO_OPT_UNALIGNED32 2687 # define LZO_OPT_UNALIGNED32 1 2689 #elif (LZO_ARCH_I386) 2690 # ifndef LZO_OPT_UNALIGNED16 2691 # define LZO_OPT_UNALIGNED16 1 2693 # ifndef LZO_OPT_UNALIGNED32 2694 # define LZO_OPT_UNALIGNED32 1 2696 #elif (LZO_ARCH_IA64) 2697 # define LZO_OPT_AVOID_INT_INDEX 1 2698 # define LZO_OPT_AVOID_UINT_INDEX 1 2699 # define LZO_OPT_PREFER_POSTINC 1 2700 #elif (LZO_ARCH_M68K) 2701 # define LZO_OPT_PREFER_POSTINC 1 2702 # define LZO_OPT_PREFER_PREDEC 1 2703 # if defined(__mc68020__) && !defined(__mcoldfire__) 2704 # ifndef LZO_OPT_UNALIGNED16 2705 # define LZO_OPT_UNALIGNED16 1 2707 # ifndef LZO_OPT_UNALIGNED32 2708 # define LZO_OPT_UNALIGNED32 1 2711 #elif (LZO_ARCH_MIPS) 2712 # define LZO_OPT_AVOID_UINT_INDEX 1 2713 #elif (LZO_ARCH_POWERPC) 2714 # define LZO_OPT_PREFER_PREINC 1 2715 # define LZO_OPT_PREFER_PREDEC 1 2716 # if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8) 2717 # ifndef LZO_OPT_UNALIGNED16 2718 # define LZO_OPT_UNALIGNED16 1 2720 # ifndef LZO_OPT_UNALIGNED32 2721 # define LZO_OPT_UNALIGNED32 1 2723 # if (LZO_WORDSIZE == 8) 2724 # ifndef LZO_OPT_UNALIGNED64 2725 # define LZO_OPT_UNALIGNED64 1 2729 #elif (LZO_ARCH_RISCV) 2730 # define LZO_OPT_AVOID_UINT_INDEX 1 2731 # ifndef LZO_OPT_UNALIGNED16 2732 # define LZO_OPT_UNALIGNED16 1 2734 # ifndef LZO_OPT_UNALIGNED32 2735 # define LZO_OPT_UNALIGNED32 1 2737 # if (LZO_WORDSIZE == 8) 2738 # ifndef LZO_OPT_UNALIGNED64 2739 # define LZO_OPT_UNALIGNED64 1 2742 #elif (LZO_ARCH_S390) 2743 # ifndef LZO_OPT_UNALIGNED16 2744 # define LZO_OPT_UNALIGNED16 1 2746 # ifndef LZO_OPT_UNALIGNED32 2747 # define LZO_OPT_UNALIGNED32 1 2749 # if (LZO_WORDSIZE == 8) 2750 # ifndef LZO_OPT_UNALIGNED64 2751 # define LZO_OPT_UNALIGNED64 1 2755 # define LZO_OPT_PREFER_POSTINC 1 2756 # define LZO_OPT_PREFER_PREDEC 1 2758 #ifndef LZO_CFG_NO_INLINE_ASM 2759 #if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) 2760 # define LZO_CFG_NO_INLINE_ASM 1 2762 # define LZO_CFG_NO_INLINE_ASM 1 2765 #if (LZO_CFG_NO_INLINE_ASM) 2766 # undef LZO_ASM_SYNTAX_MSC 2767 # undef LZO_ASM_SYNTAX_GNUC 2768 # undef __LZO_ASM_CLOBBER 2769 # undef __LZO_ASM_CLOBBER_LIST_CC 2770 # undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY 2771 # undef __LZO_ASM_CLOBBER_LIST_EMPTY 2773 #ifndef LZO_CFG_NO_UNALIGNED 2774 #if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) 2775 # define LZO_CFG_NO_UNALIGNED 1 2778 #if (LZO_CFG_NO_UNALIGNED) 2779 # undef LZO_OPT_UNALIGNED16 2780 # undef LZO_OPT_UNALIGNED32 2781 # undef LZO_OPT_UNALIGNED64 2783 #if defined(__LZO_INFOSTR_MM) 2784 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) 2785 # define __LZO_INFOSTR_MM "" 2786 #elif defined(LZO_INFO_MM) 2787 # define __LZO_INFOSTR_MM "." LZO_INFO_MM 2789 # define __LZO_INFOSTR_MM "" 2791 #if defined(__LZO_INFOSTR_PM) 2792 #elif defined(LZO_INFO_ABI_PM) 2793 # define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM 2795 # define __LZO_INFOSTR_PM "" 2797 #if defined(__LZO_INFOSTR_ENDIAN) 2798 #elif defined(LZO_INFO_ABI_ENDIAN) 2799 # define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN 2801 # define __LZO_INFOSTR_ENDIAN "" 2803 #if defined(__LZO_INFOSTR_OSNAME) 2804 #elif defined(LZO_INFO_OS_CONSOLE) 2805 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE 2806 #elif defined(LZO_INFO_OS_POSIX) 2807 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX 2809 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS 2811 #if defined(__LZO_INFOSTR_LIBC) 2812 #elif defined(LZO_INFO_LIBC) 2813 # define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC 2815 # define __LZO_INFOSTR_LIBC "" 2817 #if defined(__LZO_INFOSTR_CCVER) 2818 #elif defined(LZO_INFO_CCVER) 2819 # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER 2821 # define __LZO_INFOSTR_CCVER "" 2823 #define LZO_INFO_STRING \ 2824 LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ 2825 " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER 2826 #if !(LZO_CFG_SKIP_LZO_TYPES) 2827 #if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0)) 2828 # error "missing defines for sizes" 2830 #if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0)) 2831 # error "missing defines for sizes" 2833 #define LZO_TYPEOF_CHAR 1u 2834 #define LZO_TYPEOF_SHORT 2u 2835 #define LZO_TYPEOF_INT 3u 2836 #define LZO_TYPEOF_LONG 4u 2837 #define LZO_TYPEOF_LONG_LONG 5u 2838 #define LZO_TYPEOF___INT8 17u 2839 #define LZO_TYPEOF___INT16 18u 2840 #define LZO_TYPEOF___INT32 19u 2841 #define LZO_TYPEOF___INT64 20u 2842 #define LZO_TYPEOF___INT128 21u 2843 #define LZO_TYPEOF___INT256 22u 2844 #define LZO_TYPEOF___MODE_QI 33u 2845 #define LZO_TYPEOF___MODE_HI 34u 2846 #define LZO_TYPEOF___MODE_SI 35u 2847 #define LZO_TYPEOF___MODE_DI 36u 2848 #define LZO_TYPEOF___MODE_TI 37u 2849 #define LZO_TYPEOF_CHAR_P 129u 2850 #if !defined(lzo_llong_t) 2851 #if (LZO_SIZEOF_LONG_LONG+0 > 0) 2852 # if !(LZO_LANG_ASSEMBLER) 2856 # define lzo_llong_t lzo_llong_t__ 2857 # define lzo_ullong_t lzo_ullong_t__ 2860 #if !defined(lzo_int16e_t) 2861 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2) 2862 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T 2864 #if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) 2865 # define lzo_int16e_t long 2866 # define lzo_uint16e_t unsigned long 2867 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG 2868 #elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) 2869 # define lzo_int16e_t int 2870 # define lzo_uint16e_t unsigned int 2871 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT 2872 #elif (LZO_SIZEOF_SHORT == 2) 2873 # define lzo_int16e_t short int 2874 # define lzo_uint16e_t unsigned short int 2875 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT 2876 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) 2877 # if !(LZO_LANG_ASSEMBLER) 2878 typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
2879 typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
2881 # define lzo_int16e_t lzo_int16e_hi_t__ 2882 # define lzo_uint16e_t lzo_uint16e_hi_t__ 2883 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI 2884 #elif (LZO_SIZEOF___INT16 == 2) 2885 # define lzo_int16e_t __int16 2886 # define lzo_uint16e_t unsigned __int16 2887 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16 2891 #if defined(lzo_int16e_t) 2892 # define LZO_SIZEOF_LZO_INT16E_T 2 2896 #if !defined(lzo_int32e_t) 2897 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4) 2898 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T 2900 #if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) 2901 # define lzo_int32e_t long int 2902 # define lzo_uint32e_t unsigned long int 2903 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG 2904 #elif (LZO_SIZEOF_INT == 4) 2905 # define lzo_int32e_t int 2906 # define lzo_uint32e_t unsigned int 2907 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT 2908 #elif (LZO_SIZEOF_SHORT == 4) 2909 # define lzo_int32e_t short int 2910 # define lzo_uint32e_t unsigned short int 2911 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT 2912 #elif (LZO_SIZEOF_LONG_LONG == 4) 2913 # define lzo_int32e_t lzo_llong_t 2914 # define lzo_uint32e_t lzo_ullong_t 2915 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG 2916 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L) 2917 # if !(LZO_LANG_ASSEMBLER) 2918 typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
2919 typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
2921 # define lzo_int32e_t lzo_int32e_si_t__ 2922 # define lzo_uint32e_t lzo_uint32e_si_t__ 2923 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI 2924 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L) 2925 # if !(LZO_LANG_ASSEMBLER) 2926 typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
2927 typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
2929 # define lzo_int32e_t lzo_int32e_si_t__ 2930 # define lzo_uint32e_t lzo_uint32e_si_t__ 2931 # define LZO_INT32_C(c) (c##LL) 2932 # define LZO_UINT32_C(c) (c##ULL) 2933 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI 2934 #elif (LZO_SIZEOF___INT32 == 4) 2935 # define lzo_int32e_t __int32 2936 # define lzo_uint32e_t unsigned __int32 2937 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32 2941 #if defined(lzo_int32e_t) 2942 # define LZO_SIZEOF_LZO_INT32E_T 4 2946 #if !defined(lzo_int64e_t) 2947 #if (LZO_SIZEOF___INT64 == 8) 2948 # if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T) 2949 # define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64 2952 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8) 2953 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T 2955 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8) 2956 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T 2958 #if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 2959 # define lzo_int64e_t int 2960 # define lzo_uint64e_t unsigned int 2961 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT 2962 #elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) 2963 # define lzo_int64e_t long int 2964 # define lzo_uint64e_t unsigned long int 2965 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG 2966 #elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) 2967 # define lzo_int64e_t lzo_llong_t 2968 # define lzo_uint64e_t lzo_ullong_t 2969 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG 2970 # if (LZO_CC_BORLANDC) 2971 # define LZO_INT64_C(c) ((c) + 0ll) 2972 # define LZO_UINT64_C(c) ((c) + 0ull) 2974 # define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL)) 2975 # define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL)) 2977 # define LZO_INT64_C(c) (c##LL) 2978 # define LZO_UINT64_C(c) (c##ULL) 2980 #elif (LZO_SIZEOF___INT64 == 8) 2981 # define lzo_int64e_t __int64 2982 # define lzo_uint64e_t unsigned __int64 2983 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64 2984 # if (LZO_CC_BORLANDC) 2985 # define LZO_INT64_C(c) ((c) + 0i64) 2986 # define LZO_UINT64_C(c) ((c) + 0ui64) 2988 # define LZO_INT64_C(c) (c##i64) 2989 # define LZO_UINT64_C(c) (c##ui64) 2994 #if defined(lzo_int64e_t) 2995 # define LZO_SIZEOF_LZO_INT64E_T 8 2999 #if !defined(lzo_int32l_t) 3000 #if defined(lzo_int32e_t) 3001 # define lzo_int32l_t lzo_int32e_t 3002 # define lzo_uint32l_t lzo_uint32e_t 3003 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T 3004 # define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T 3005 #elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 3006 # define lzo_int32l_t int 3007 # define lzo_uint32l_t unsigned int 3008 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT 3009 # define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT 3010 #elif (LZO_SIZEOF_LONG >= 4) 3011 # define lzo_int32l_t long int 3012 # define lzo_uint32l_t unsigned long int 3013 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG 3014 # define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG 3016 # error "lzo_int32l_t" 3023 #if !defined(lzo_int64l_t) 3024 #if defined(lzo_int64e_t) 3025 # define lzo_int64l_t lzo_int64e_t 3026 # define lzo_uint64l_t lzo_uint64e_t 3027 # define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T 3028 # define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T 3032 #if defined(lzo_int64l_t) 3036 #if !defined(lzo_int32f_t) 3037 #if (LZO_SIZEOF_SIZE_T >= 8) 3038 # define lzo_int32f_t lzo_int64l_t 3039 # define lzo_uint32f_t lzo_uint64l_t 3040 # define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T 3041 # define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T 3043 # define lzo_int32f_t lzo_int32l_t 3044 # define lzo_uint32f_t lzo_uint32l_t 3045 # define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T 3046 # define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T 3053 #if !defined(lzo_int64f_t) 3054 #if defined(lzo_int64l_t) 3055 # define lzo_int64f_t lzo_int64l_t 3056 # define lzo_uint64f_t lzo_uint64l_t 3057 # define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T 3058 # define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T 3062 #if defined(lzo_int64f_t) 3066 #if !defined(lzo_intptr_t) 3067 #if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16)) 3068 # define __LZO_INTPTR_T_IS_POINTER 1 3069 # if !(LZO_LANG_ASSEMBLER) 3073 # define lzo_intptr_t lzo_intptr_t 3074 # define lzo_uintptr_t lzo_uintptr_t 3075 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P 3076 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P 3077 #elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4)) 3078 # if !(LZO_LANG_ASSEMBLER) 3082 # define lzo_intptr_t lzo_intptr_t 3083 # define lzo_uintptr_t lzo_uintptr_t 3084 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT 3085 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT 3086 #elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P) 3087 # define lzo_intptr_t short 3088 # define lzo_uintptr_t unsigned short 3089 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT 3090 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT 3091 #elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 3092 # define lzo_intptr_t int 3093 # define lzo_uintptr_t unsigned int 3094 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT 3095 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT 3096 #elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P) 3097 # define lzo_intptr_t long 3098 # define lzo_uintptr_t unsigned long 3099 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG 3100 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG 3101 #elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P) 3102 # define lzo_intptr_t lzo_int64l_t 3103 # define lzo_uintptr_t lzo_uint64l_t 3104 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T 3105 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T 3107 # error "lzo_intptr_t" 3114 #if !defined(lzo_word_t) 3115 #if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0) 3116 #if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER) 3117 # define lzo_word_t lzo_uintptr_t 3118 # define lzo_sword_t lzo_intptr_t 3119 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T 3120 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T 3121 #elif (LZO_WORDSIZE == LZO_SIZEOF_LONG) 3122 # define lzo_word_t unsigned long 3123 # define lzo_sword_t long 3124 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG 3125 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG 3126 #elif (LZO_WORDSIZE == LZO_SIZEOF_INT) 3127 # define lzo_word_t unsigned int 3128 # define lzo_sword_t int 3129 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT 3130 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT 3131 #elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT) 3132 # define lzo_word_t unsigned short 3133 # define lzo_sword_t short 3134 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT 3135 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT 3136 #elif (LZO_WORDSIZE == 1) 3137 # define lzo_word_t unsigned char 3138 # define lzo_sword_t signed char 3139 # define LZO_SIZEOF_LZO_WORD_T 1 3140 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR 3141 #elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T) 3142 # define lzo_word_t lzo_uint64l_t 3143 # define lzo_sword_t lzo_int64l_t 3144 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T 3145 # define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T 3146 #elif (LZO_ARCH_SPU) && (LZO_CC_GNUC) 3148 # if !(LZO_LANG_ASSEMBLER) 3149 typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
3150 typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
3152 # define lzo_word_t lzo_word_t 3153 # define lzo_sword_t lzo_sword_t 3154 # define LZO_SIZEOF_LZO_WORD_T 16 3155 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI 3158 # error "lzo_word_t" 3162 #if 1 && defined(lzo_word_t) 3167 #define lzo_int8_t signed char 3168 #define lzo_uint8_t unsigned char 3169 #define LZO_SIZEOF_LZO_INT8_T 1 3170 #define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR 3174 #if defined(lzo_int16e_t) 3175 #define lzo_int16_t lzo_int16e_t 3176 #define lzo_uint16_t lzo_uint16e_t 3177 #define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T 3178 #define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T 3182 #if defined(lzo_int32e_t) 3183 #define lzo_int32_t lzo_int32e_t 3184 #define lzo_uint32_t lzo_uint32e_t 3185 #define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T 3186 #define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T 3190 #if defined(lzo_int64e_t) 3191 #define lzo_int64_t lzo_int64e_t 3192 #define lzo_uint64_t lzo_uint64e_t 3193 #define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T 3194 #define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T 3199 #define lzo_int_least32_t lzo_int32l_t 3200 #define lzo_uint_least32_t lzo_uint32l_t 3201 #define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T 3202 #define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T 3206 #if defined(lzo_int64l_t) 3207 #define lzo_int_least64_t lzo_int64l_t 3208 #define lzo_uint_least64_t lzo_uint64l_t 3209 #define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T 3210 #define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T 3215 #define lzo_int_fast32_t lzo_int32f_t 3216 #define lzo_uint_fast32_t lzo_uint32f_t 3217 #define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T 3218 #define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T 3222 #if defined(lzo_int64f_t) 3223 #define lzo_int_fast64_t lzo_int64f_t 3224 #define lzo_uint_fast64_t lzo_uint64f_t 3225 #define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T 3226 #define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T 3230 #if !defined(LZO_INT16_C) 3231 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2) 3232 # define LZO_INT16_C(c) ((c) + 0) 3233 # define LZO_UINT16_C(c) ((c) + 0U) 3234 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2) 3235 # define LZO_INT16_C(c) ((c) + 0L) 3236 # define LZO_UINT16_C(c) ((c) + 0UL) 3237 # elif (LZO_SIZEOF_INT >= 2) 3238 # define LZO_INT16_C(c) (c) 3239 # define LZO_UINT16_C(c) (c##U) 3240 # elif (LZO_SIZEOF_LONG >= 2) 3241 # define LZO_INT16_C(c) (c##L) 3242 # define LZO_UINT16_C(c) (c##UL) 3244 # error "LZO_INT16_C" 3247 #if !defined(LZO_INT32_C) 3248 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4) 3249 # define LZO_INT32_C(c) ((c) + 0) 3250 # define LZO_UINT32_C(c) ((c) + 0U) 3251 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4) 3252 # define LZO_INT32_C(c) ((c) + 0L) 3253 # define LZO_UINT32_C(c) ((c) + 0UL) 3254 # elif (LZO_SIZEOF_INT >= 4) 3255 # define LZO_INT32_C(c) (c) 3256 # define LZO_UINT32_C(c) (c##U) 3257 # elif (LZO_SIZEOF_LONG >= 4) 3258 # define LZO_INT32_C(c) (c##L) 3259 # define LZO_UINT32_C(c) (c##UL) 3260 # elif (LZO_SIZEOF_LONG_LONG >= 4) 3261 # define LZO_INT32_C(c) (c##LL) 3262 # define LZO_UINT32_C(c) (c##ULL) 3264 # error "LZO_INT32_C" 3267 #if !defined(LZO_INT64_C) && defined(lzo_int64l_t) 3268 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8) 3269 # define LZO_INT64_C(c) ((c) + 0) 3270 # define LZO_UINT64_C(c) ((c) + 0U) 3271 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8) 3272 # define LZO_INT64_C(c) ((c) + 0L) 3273 # define LZO_UINT64_C(c) ((c) + 0UL) 3274 # elif (LZO_SIZEOF_INT >= 8) 3275 # define LZO_INT64_C(c) (c) 3276 # define LZO_UINT64_C(c) (c##U) 3277 # elif (LZO_SIZEOF_LONG >= 8) 3278 # define LZO_INT64_C(c) (c##L) 3279 # define LZO_UINT64_C(c) (c##UL) 3281 # error "LZO_INT64_C" 3290 #undef LZO_HAVE_CONFIG_H 3293 #if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x20a0) 3294 # error "version mismatch in miniLZO source files" 3297 #ifdef MINILZO_HAVE_CONFIG_H 3298 # define LZO_HAVE_CONFIG_H 1 3301 #ifndef __LZO_CONF_H 3302 #define __LZO_CONF_H 1 3304 #if !defined(__LZO_IN_MINILZO) 3305 #if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING) 3306 # define LZO_LIBC_FREESTANDING 1 3307 # define LZO_OS_FREESTANDING 1 3309 #if defined(LZO_CFG_EXTRA_CONFIG_HEADER) 3310 # include LZO_CFG_EXTRA_CONFIG_HEADER 3312 #if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED) 3313 # error "include this file first" 3315 #if defined(LZO_CFG_BUILD_DLL) && (LZO_CFG_BUILD_DLL+0) && !defined(__LZO_EXPORT1) && !defined(__LZO_EXPORT2) && 0 3316 #ifndef __LZODEFS_H_INCLUDED 3317 #if defined(LZO_HAVE_CONFIG_H) 3318 # include <config.h> 3326 #if defined(LZO_CFG_EXTRA_CONFIG_HEADER2) 3327 # include LZO_CFG_EXTRA_CONFIG_HEADER2 3331 #if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0) 3332 # error "version mismatch" 3335 #if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100)) 3336 # pragma warning(disable: 4702) 3338 #if (LZO_CC_MSC && (_MSC_VER >= 1000)) 3339 # pragma warning(disable: 4127 4701) 3340 # pragma warning(disable: 4514 4710 4711) 3342 #if (LZO_CC_MSC && (_MSC_VER >= 1300)) 3343 # pragma warning(disable: 4820) 3345 #if (LZO_CC_MSC && (_MSC_VER >= 1800)) 3346 # pragma warning(disable: 4746) 3348 #if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900)) 3349 # pragma warning(disable: 1684) 3352 #if (LZO_CC_SUNPROC) 3353 #if !defined(__cplusplus) 3354 # pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED) 3355 # pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP) 3356 # pragma error_messages(off,E_STATEMENT_NOT_REACHED) 3360 #if !defined(__LZO_NOEXPORT1) 3361 # define __LZO_NOEXPORT1 3363 #if !defined(__LZO_NOEXPORT2) 3364 # define __LZO_NOEXPORT2 3368 # define LZO_PUBLIC_DECL(r) LZO_EXTERN(r) 3371 # define LZO_PUBLIC_IMPL(r) LZO_PUBLIC(r) 3373 #if !defined(LZO_LOCAL_DECL) 3374 # define LZO_LOCAL_DECL(r) __LZO_EXTERN_C LZO_LOCAL_IMPL(r) 3376 #if !defined(LZO_LOCAL_IMPL) 3377 # define LZO_LOCAL_IMPL(r) __LZO_NOEXPORT1 r __LZO_NOEXPORT2 __LZO_CDECL 3380 # define LZO_STATIC_DECL(r) LZO_PRIVATE(r) 3383 # define LZO_STATIC_IMPL(r) LZO_PRIVATE(r) 3386 #if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING) 3388 # include <string.h> 3390 # define LZO_WANT_ACC_INCD_H 1 3392 #if defined(LZO_HAVE_CONFIG_H) 3393 # define LZO_CFG_NO_CONFIG_HEADER 1 3396 #if 1 && !defined(LZO_CFG_FREESTANDING) 3397 #if 1 && !defined(HAVE_STRING_H) 3398 #define HAVE_STRING_H 1 3400 #if 1 && !defined(HAVE_MEMCMP) 3401 #define HAVE_MEMCMP 1 3403 #if 1 && !defined(HAVE_MEMCPY) 3404 #define HAVE_MEMCPY 1 3406 #if 1 && !defined(HAVE_MEMMOVE) 3407 #define HAVE_MEMMOVE 1 3409 #if 1 && !defined(HAVE_MEMSET) 3410 #define HAVE_MEMSET 1 3414 #if 1 && defined(HAVE_STRING_H) 3418 #if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t) 3422 #if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t) 3426 #if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t) 3430 #if defined(lzo_int64_t) || defined(lzo_uint64_t) 3435 #if (LZO_CFG_FREESTANDING) 3438 # undef HAVE_MEMMOVE 3444 # define memcmp(a,b,c) lzo_memcmp(a,b,c) 3447 # define lzo_memcmp(a,b,c) memcmp(a,b,c) 3451 # define memcpy(a,b,c) lzo_memcpy(a,b,c) 3454 # define lzo_memcpy(a,b,c) memcpy(a,b,c) 3458 # define memmove(a,b,c) lzo_memmove(a,b,c) 3461 # define lzo_memmove(a,b,c) memmove(a,b,c) 3465 # define memset(a,b,c) lzo_memset(a,b,c) 3468 # define lzo_memset(a,b,c) memset(a,b,c) 3472 #if (LZO_CFG_FREESTANDING) 3476 # define assert(e) ((void)0) 3478 # if !defined(LZO_DEBUG) 3481 # include <assert.h> 3484 #if 0 && defined(__BOUNDS_CHECKING_ON) 3485 # include <unchecked.h> 3487 # define BOUNDS_CHECKING_OFF_DURING(stmt) stmt 3488 # define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr) 3492 # undef __lzo_likely 3493 # undef __lzo_unlikely 3494 # define __lzo_likely(e) (e) 3495 # define __lzo_unlikely(e) (e) 3515 # define LZO_BYTE(x) ((unsigned char) (x)) 3517 # define LZO_BYTE(x) ((unsigned char) ((x) & 0xff)) 3520 #define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b)) 3521 #define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b)) 3522 #define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c)) 3523 #define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c)) 3525 #define lzo_sizeof(type) ((lzo_uint) (sizeof(type))) 3527 #define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array)))) 3529 #define LZO_SIZE(bits) (1u << (bits)) 3530 #define LZO_MASK(bits) (LZO_SIZE(bits) - 1) 3532 #define LZO_USIZE(bits) ((lzo_uint) 1 << (bits)) 3533 #define LZO_UMASK(bits) (LZO_USIZE(bits) - 1) 3538 # define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b))) 3540 # define DMUL(a,b) ((lzo_xint) ((a) * (b))) 3544 #ifndef __LZO_FUNC_H 3545 #define __LZO_FUNC_H 1 3547 #if !defined(LZO_BITOPS_USE_ASM_BITSCAN) && !defined(LZO_BITOPS_USE_GNUC_BITSCAN) && !defined(LZO_BITOPS_USE_MSC_BITSCAN) 3548 #if 1 && (LZO_ARCH_AMD64) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_ASM_SYNTAX_GNUC) 3549 #define LZO_BITOPS_USE_ASM_BITSCAN 1 3550 #elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) 3551 #define LZO_BITOPS_USE_GNUC_BITSCAN 1 3552 #elif (LZO_OS_WIN32 || LZO_OS_WIN64) && ((LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1010)) || (LZO_CC_MSC && (_MSC_VER >= 1400))) 3553 #define LZO_BITOPS_USE_MSC_BITSCAN 1 3554 #if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 3557 #if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 3558 #pragma intrinsic(_BitScanReverse) 3559 #pragma intrinsic(_BitScanForward) 3561 #if (LZO_CC_MSC) && (LZO_ARCH_AMD64) 3562 #pragma intrinsic(_BitScanReverse64) 3563 #pragma intrinsic(_BitScanForward64) 3570 #if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 3571 unsigned long r; (
void) _BitScanReverse(&r, v);
return (
unsigned) r ^ 31;
3572 #define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) 3573 #elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) 3575 __asm__(
"bsr %1,%0" :
"=r" (r) :
"rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
3576 return (
unsigned) r ^ 31;
3577 #define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) 3578 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT == 4) 3579 unsigned r; r = (unsigned) __builtin_clz(v);
return r;
3580 #define lzo_bitops_ctlz32(v) ((unsigned) __builtin_clz(v)) 3581 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8) 3582 unsigned r; r = (unsigned) __builtin_clzl(v);
return r ^ 32;
3583 #define lzo_bitops_ctlz32(v) (((unsigned) __builtin_clzl(v)) ^ 32) 3589 #if defined(lzo_uint64_t) 3592 #if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) 3593 unsigned long r; (
void) _BitScanReverse64(&r, v);
return (
unsigned) r ^ 63;
3594 #define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) 3595 #elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) 3597 __asm__(
"bsr %1,%0" :
"=r" (r) :
"rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
3598 return (
unsigned) r ^ 63;
3599 #define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) 3600 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8) 3601 unsigned r; r = (unsigned) __builtin_clzl(v);
return r;
3602 #define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzl(v)) 3603 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG == 8) && (LZO_WORDSIZE >= 8) 3604 unsigned r; r = (unsigned) __builtin_clzll(v);
return r;
3605 #define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzll(v)) 3614 #if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 3615 unsigned long r; (
void) _BitScanForward(&r, v);
return (
unsigned) r;
3616 #define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) 3617 #elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) 3619 __asm__(
"bsf %1,%0" :
"=r" (r) :
"rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
3620 return (
unsigned) r;
3621 #define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) 3622 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT >= 4) 3623 unsigned r; r = (unsigned) __builtin_ctz(v);
return r;
3624 #define lzo_bitops_cttz32(v) ((unsigned) __builtin_ctz(v)) 3630 #if defined(lzo_uint64_t) 3633 #if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) 3634 unsigned long r; (
void) _BitScanForward64(&r, v);
return (
unsigned) r;
3635 #define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) 3636 #elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) 3638 __asm__(
"bsf %1,%0" :
"=r" (r) :
"rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
3639 return (
unsigned) r;
3640 #define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) 3641 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG >= 8) && (LZO_WORDSIZE >= 8) 3642 unsigned r; r = (unsigned) __builtin_ctzl(v);
return r;
3643 #define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzl(v)) 3644 #elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG >= 8) && (LZO_WORDSIZE >= 8) 3645 unsigned r; r = (unsigned) __builtin_ctzll(v);
return r;
3646 #define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzll(v)) 3658 #if defined(lzo_uint64_t) 3664 #if defined(__lzo_alignof) && !(LZO_CFG_NO_UNALIGNED) 3665 #if !defined(lzo_memops_tcheck__) && 0 3666 #define lzo_memops_tcheck__(t,a,b) ((void)0, sizeof(t) == (a) && __lzo_alignof(t) == (b)) 3669 #ifndef lzo_memops_TU0p 3670 #define lzo_memops_TU0p void __LZO_MMODEL * 3672 #ifndef lzo_memops_TU1p 3673 #define lzo_memops_TU1p unsigned char __LZO_MMODEL * 3675 #ifndef lzo_memops_TU2p 3676 #if (LZO_OPT_UNALIGNED16) 3678 #define lzo_memops_TU2p volatile lzo_memops_TU2 * 3679 #elif defined(__lzo_byte_struct) 3680 __lzo_byte_struct(lzo_memops_TU2_struct,2)
3681 typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
3684 typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
3686 #ifndef lzo_memops_TU2p 3687 #define lzo_memops_TU2p lzo_memops_TU2 * 3690 #ifndef lzo_memops_TU4p 3691 #if (LZO_OPT_UNALIGNED32) 3693 #define lzo_memops_TU4p volatile lzo_memops_TU4 __LZO_MMODEL * 3694 #elif defined(__lzo_byte_struct) 3695 __lzo_byte_struct(lzo_memops_TU4_struct,4)
3696 typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
3699 typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
3701 #ifndef lzo_memops_TU4p 3702 #define lzo_memops_TU4p lzo_memops_TU4 __LZO_MMODEL * 3705 #ifndef lzo_memops_TU8p 3706 #if (LZO_OPT_UNALIGNED64) 3708 #define lzo_memops_TU8p volatile lzo_memops_TU8 __LZO_MMODEL * 3709 #elif defined(__lzo_byte_struct) 3710 __lzo_byte_struct(lzo_memops_TU8_struct,8)
3711 typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
3714 typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
3716 #ifndef lzo_memops_TU8p 3717 #define lzo_memops_TU8p lzo_memops_TU8 __LZO_MMODEL * 3720 #ifndef lzo_memops_set_TU1p 3721 #define lzo_memops_set_TU1p volatile lzo_memops_TU1p 3723 #ifndef lzo_memops_move_TU1p 3724 #define lzo_memops_move_TU1p lzo_memops_TU1p 3726 #define LZO_MEMOPS_SET1(dd,cc) \ 3728 lzo_memops_set_TU1p d__1 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ 3729 d__1[0] = LZO_BYTE(cc); \ 3731 #define LZO_MEMOPS_SET2(dd,cc) \ 3733 lzo_memops_set_TU1p d__2 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ 3734 d__2[0] = LZO_BYTE(cc); d__2[1] = LZO_BYTE(cc); \ 3736 #define LZO_MEMOPS_SET3(dd,cc) \ 3738 lzo_memops_set_TU1p d__3 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ 3739 d__3[0] = LZO_BYTE(cc); d__3[1] = LZO_BYTE(cc); d__3[2] = LZO_BYTE(cc); \ 3741 #define LZO_MEMOPS_SET4(dd,cc) \ 3743 lzo_memops_set_TU1p d__4 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ 3744 d__4[0] = LZO_BYTE(cc); d__4[1] = LZO_BYTE(cc); d__4[2] = LZO_BYTE(cc); d__4[3] = LZO_BYTE(cc); \ 3746 #define LZO_MEMOPS_MOVE1(dd,ss) \ 3748 lzo_memops_move_TU1p d__1 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ 3749 const lzo_memops_move_TU1p s__1 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ 3750 d__1[0] = s__1[0]; \ 3752 #define LZO_MEMOPS_MOVE2(dd,ss) \ 3754 lzo_memops_move_TU1p d__2 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ 3755 const lzo_memops_move_TU1p s__2 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ 3756 d__2[0] = s__2[0]; d__2[1] = s__2[1]; \ 3758 #define LZO_MEMOPS_MOVE3(dd,ss) \ 3760 lzo_memops_move_TU1p d__3 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ 3761 const lzo_memops_move_TU1p s__3 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ 3762 d__3[0] = s__3[0]; d__3[1] = s__3[1]; d__3[2] = s__3[2]; \ 3764 #define LZO_MEMOPS_MOVE4(dd,ss) \ 3766 lzo_memops_move_TU1p d__4 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ 3767 const lzo_memops_move_TU1p s__4 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ 3768 d__4[0] = s__4[0]; d__4[1] = s__4[1]; d__4[2] = s__4[2]; d__4[3] = s__4[3]; \ 3770 #define LZO_MEMOPS_MOVE8(dd,ss) \ 3772 lzo_memops_move_TU1p d__8 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ 3773 const lzo_memops_move_TU1p s__8 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ 3774 d__8[0] = s__8[0]; d__8[1] = s__8[1]; d__8[2] = s__8[2]; d__8[3] = s__8[3]; \ 3775 d__8[4] = s__8[4]; d__8[5] = s__8[5]; d__8[6] = s__8[6]; d__8[7] = s__8[7]; \ 3778 #define LZO_MEMOPS_COPY1(dd,ss) LZO_MEMOPS_MOVE1(dd,ss) 3779 #if (LZO_OPT_UNALIGNED16) 3781 #define LZO_MEMOPS_COPY2(dd,ss) \ 3782 * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss) 3783 #elif defined(lzo_memops_tcheck__) 3784 #define LZO_MEMOPS_COPY2(dd,ss) \ 3785 LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU2,2,1)) { \ 3786 * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss); \ 3787 } else { LZO_MEMOPS_MOVE2(dd,ss); } LZO_BLOCK_END 3789 #define LZO_MEMOPS_COPY2(dd,ss) LZO_MEMOPS_MOVE2(dd,ss) 3791 #if (LZO_OPT_UNALIGNED32) 3793 #define LZO_MEMOPS_COPY4(dd,ss) \ 3794 * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss) 3795 #elif defined(lzo_memops_tcheck__) 3796 #define LZO_MEMOPS_COPY4(dd,ss) \ 3797 LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU4,4,1)) { \ 3798 * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss); \ 3799 } else { LZO_MEMOPS_MOVE4(dd,ss); } LZO_BLOCK_END 3801 #define LZO_MEMOPS_COPY4(dd,ss) LZO_MEMOPS_MOVE4(dd,ss) 3803 #if (LZO_WORDSIZE != 8) 3804 #define LZO_MEMOPS_COPY8(dd,ss) \ 3805 LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END 3807 #if (LZO_OPT_UNALIGNED64) 3809 #define LZO_MEMOPS_COPY8(dd,ss) \ 3810 * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss) 3811 #elif (LZO_OPT_UNALIGNED32) 3812 #define LZO_MEMOPS_COPY8(dd,ss) \ 3813 LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END 3814 #elif defined(lzo_memops_tcheck__) 3815 #define LZO_MEMOPS_COPY8(dd,ss) \ 3816 LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU8,8,1)) { \ 3817 * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss); \ 3818 } else { LZO_MEMOPS_MOVE8(dd,ss); } LZO_BLOCK_END 3820 #define LZO_MEMOPS_COPY8(dd,ss) LZO_MEMOPS_MOVE8(dd,ss) 3823 #define LZO_MEMOPS_COPYN(dd,ss,nn) \ 3825 lzo_memops_TU1p d__n = (lzo_memops_TU1p) (lzo_memops_TU0p) (dd); \ 3826 const lzo_memops_TU1p s__n = (const lzo_memops_TU1p) (const lzo_memops_TU0p) (ss); \ 3827 lzo_uint n__n = (nn); \ 3828 while ((void)0, n__n >= 8) { LZO_MEMOPS_COPY8(d__n, s__n); d__n += 8; s__n += 8; n__n -= 8; } \ 3829 if ((void)0, n__n >= 4) { LZO_MEMOPS_COPY4(d__n, s__n); d__n += 4; s__n += 4; n__n -= 4; } \ 3830 if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \ 3836 #if (LZO_ABI_LITTLE_ENDIAN) 3838 #elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) 3841 __asm__(
"lhbrx %0,0,%1" :
"=r" (vv) :
"r" (s),
"m" (*s));
3842 v = (lzo_uint16_t) vv;
3845 v = (lzo_uint16_t) (((lzo_uint16_t)s[0]) | ((lzo_uint16_t)s[1] << 8));
3849 #if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 3850 #define LZO_MEMOPS_GET_LE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss)) 3852 #define LZO_MEMOPS_GET_LE16(ss) lzo_memops_get_le16(ss) 3858 #if (LZO_ABI_LITTLE_ENDIAN) 3860 #elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) 3863 __asm__(
"lwbrx %0,0,%1" :
"=r" (vv) :
"r" (s),
"m" (*s));
3864 v = (lzo_uint32_t) vv;
3867 v = (lzo_uint32_t) (((lzo_uint32_t)s[0]) | ((lzo_uint32_t)s[1] << 8) | ((lzo_uint32_t)s[2] << 16) | ((lzo_uint32_t)s[3] << 24));
3871 #if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) 3872 #define LZO_MEMOPS_GET_LE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss)) 3874 #define LZO_MEMOPS_GET_LE32(ss) lzo_memops_get_le32(ss) 3877 #if (LZO_OPT_UNALIGNED64) && (LZO_ABI_LITTLE_ENDIAN) 3878 #define LZO_MEMOPS_GET_LE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss)) 3887 #if (LZO_OPT_UNALIGNED16) 3889 #define LZO_MEMOPS_GET_NE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss)) 3891 #define LZO_MEMOPS_GET_NE16(ss) lzo_memops_get_ne16(ss) 3900 #if (LZO_OPT_UNALIGNED32) 3902 #define LZO_MEMOPS_GET_NE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss)) 3904 #define LZO_MEMOPS_GET_NE32(ss) lzo_memops_get_ne32(ss) 3907 #if (LZO_OPT_UNALIGNED64) 3909 #define LZO_MEMOPS_GET_NE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss)) 3914 #if (LZO_ABI_LITTLE_ENDIAN) 3916 #elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) 3918 unsigned long v = vv;
3919 __asm__(
"sthbrx %2,0,%1" :
"=m" (*d) :
"r" (d),
"r" (v));
3926 #if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 3927 #define LZO_MEMOPS_PUT_LE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) 3929 #define LZO_MEMOPS_PUT_LE16(dd,vv) lzo_memops_put_le16(dd,vv) 3934 #if (LZO_ABI_LITTLE_ENDIAN) 3936 #elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) 3938 unsigned long v = vv;
3939 __asm__(
"stwbrx %2,0,%1" :
"=m" (*d) :
"r" (d),
"r" (v));
3944 d[2] =
LZO_BYTE((vv >> 16) & 0xff);
3945 d[3] =
LZO_BYTE((vv >> 24) & 0xff);
3948 #if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) 3949 #define LZO_MEMOPS_PUT_LE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) 3951 #define LZO_MEMOPS_PUT_LE32(dd,vv) lzo_memops_put_le32(dd,vv) 3958 #if (LZO_OPT_UNALIGNED16) 3959 #define LZO_MEMOPS_PUT_NE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) 3961 #define LZO_MEMOPS_PUT_NE16(dd,vv) lzo_memops_put_ne16(dd,vv) 3968 #if (LZO_OPT_UNALIGNED32) 3969 #define LZO_MEMOPS_PUT_NE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) 3971 #define LZO_MEMOPS_PUT_NE32(dd,vv) lzo_memops_put_ne32(dd,vv) 3990 #define UA_SET1 LZO_MEMOPS_SET1 3993 #define UA_SET2 LZO_MEMOPS_SET2 3996 #define UA_SET3 LZO_MEMOPS_SET3 3999 #define UA_SET4 LZO_MEMOPS_SET4 4002 #define UA_MOVE1 LZO_MEMOPS_MOVE1 4005 #define UA_MOVE2 LZO_MEMOPS_MOVE2 4008 #define UA_MOVE3 LZO_MEMOPS_MOVE3 4011 #define UA_MOVE4 LZO_MEMOPS_MOVE4 4014 #define UA_MOVE8 LZO_MEMOPS_MOVE8 4017 #define UA_COPY1 LZO_MEMOPS_COPY1 4020 #define UA_COPY2 LZO_MEMOPS_COPY2 4023 #define UA_COPY3 LZO_MEMOPS_COPY3 4026 #define UA_COPY4 LZO_MEMOPS_COPY4 4029 #define UA_COPY8 LZO_MEMOPS_COPY8 4032 #define UA_COPYN LZO_MEMOPS_COPYN 4035 #define UA_COPYN_X LZO_MEMOPS_COPYN 4038 #define UA_GET_LE16 LZO_MEMOPS_GET_LE16 4041 #define UA_GET_LE32 LZO_MEMOPS_GET_LE32 4043 #ifdef LZO_MEMOPS_GET_LE64 4045 #define UA_GET_LE64 LZO_MEMOPS_GET_LE64 4049 #define UA_GET_NE16 LZO_MEMOPS_GET_NE16 4052 #define UA_GET_NE32 LZO_MEMOPS_GET_NE32 4054 #ifdef LZO_MEMOPS_GET_NE64 4056 #define UA_GET_NE64 LZO_MEMOPS_GET_NE64 4060 #define UA_PUT_LE16 LZO_MEMOPS_PUT_LE16 4063 #define UA_PUT_LE32 LZO_MEMOPS_PUT_LE32 4066 #define UA_PUT_NE16 LZO_MEMOPS_PUT_NE16 4069 #define UA_PUT_NE32 LZO_MEMOPS_PUT_NE32 4072 #define MEMCPY8_DS(dest,src,len) \ 4073 lzo_memcpy(dest,src,len); dest += len; src += len 4075 #define BZERO8_PTR(s,l,n) \ 4076 lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) 4078 #define MEMCPY_DS(dest,src,len) \ 4079 do *dest++ = *src++; while (--len > 0) 4084 #define __LZO_PTR_H 1 4091 #error "LZO_ARCH_I086 is unsupported" 4093 #error "LZO_MM_PVP is unsupported" 4095 #define PTR(a) ((lzo_uintptr_t) (a)) 4096 #define PTR_LINEAR(a) PTR(a) 4097 #define PTR_ALIGNED_4(a) ((PTR_LINEAR(a) & 3) == 0) 4098 #define PTR_ALIGNED_8(a) ((PTR_LINEAR(a) & 7) == 0) 4099 #define PTR_ALIGNED2_4(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 3) == 0) 4100 #define PTR_ALIGNED2_8(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 7) == 0) 4103 #define PTR_LT(a,b) (PTR(a) < PTR(b)) 4104 #define PTR_GE(a,b) (PTR(a) >= PTR(b)) 4105 #define PTR_DIFF(a,b) (PTR(a) - PTR(b)) 4106 #define pd(a,b) ((lzo_uint) ((a)-(b))) 4114 unsigned char a_uchar;
4116 unsigned short a_ushort;
4118 unsigned int a_uint;
4120 unsigned long a_ulong;
4124 lzo_int16_t a_lzo_int16_t;
4125 lzo_uint16_t a_lzo_uint16_t;
4126 lzo_int32_t a_lzo_int32_t;
4127 lzo_uint32_t a_lzo_uint32_t;
4128 #if defined(lzo_uint64_t) 4129 lzo_int64_t a_lzo_int64_t;
4130 lzo_uint64_t a_lzo_uint64_t;
4133 ptrdiff_t a_ptrdiff_t;
4137 unsigned char * a_uchar_p;
4138 const void * a_c_void_p;
4139 const char * a_c_char_p;
4140 const unsigned char * a_c_uchar_p;
4154 #ifndef LZO_DETERMINISTIC 4155 #define LZO_DETERMINISTIC 1 4158 #ifndef LZO_DICT_USE_PTR 4159 #define LZO_DICT_USE_PTR 1 4162 #if (LZO_DICT_USE_PTR) 4163 # define lzo_dict_t const lzo_bytep 4164 # define lzo_dict_p lzo_dict_t * 4166 # define lzo_dict_t lzo_uint 4167 # define lzo_dict_p lzo_dict_t * 4172 #if !defined(MINILZO_CFG_SKIP_LZO_PTR) 4180 #error "LZO_ARCH_I086 is unsupported" 4182 #error "LZO_MM_PVP is unsupported" 4193 #if (__LZO_UINTPTR_T_IS_POINTER) 4194 #error "__LZO_UINTPTR_T_IS_POINTER is unsupported" 4197 if (size < 2)
return 0;
4200 n = (((p + size - 1) / size) *
size) - p;
4202 if ((size & (size - 1)) != 0)
4204 n =
size; n = ((p + n - 1) & ~(n - 1)) - p;
4207 assert((
long)n >= 0);
4213 #if !defined(MINILZO_CFG_SKIP_LZO_UTIL) 4219 static const char lzo_copyright_[] =
4220 #if !defined(__LZO_IN_MINLZO) 4224 "LZO data compression library.\n" 4225 "$Copyright: LZO Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\n" 4226 "<markus@oberhumer.com>\n" 4227 "http://www.oberhumer.com $\n\n" 4237 return (
const lzo_bytep) lzo_copyright_;
4249 return lzo_version_string_;
4255 return lzo_version_date_;
4261 return lzo_version_string_;
4267 return lzo_version_date_;
4270 #define LZO_BASE 65521u 4271 #define LZO_NMAX 5552 4273 #define LZO_DO1(buf,i) s1 += buf[i]; s2 += s1 4274 #define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1) 4275 #define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2) 4276 #define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4) 4277 #define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8) 4282 lzo_uint32_t s1 = adler & 0xffff;
4283 lzo_uint32_t s2 = (adler >> 16) & 0xffff;
4307 return (s2 << 16) | s1;
4317 #if !defined(MINILZO_CFG_SKIP_LZO_STRING) 4322 #if !defined(__LZO_MMODEL_HUGE) 4323 # undef LZO_HAVE_MM_HUGE_PTR 4325 #define lzo_hsize_t lzo_uint 4326 #define lzo_hvoid_p lzo_voidp 4327 #define lzo_hbyte_p lzo_bytep 4328 #define LZOLIB_PUBLIC(r,f) LZO_PUBLIC(r) f 4329 #define lzo_hmemcmp lzo_memcmp 4330 #define lzo_hmemcpy lzo_memcpy 4331 #define lzo_hmemmove lzo_memmove 4332 #define lzo_hmemset lzo_memset 4333 #define __LZOLIB_HMEMCPY_CH_INCLUDED 1 4334 #if !defined(LZOLIB_PUBLIC) 4335 # define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) 4339 #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP) 4351 return memcmp(s1, s2, len);
4356 #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY) 4359 if (!(len > 0) || p1 == p2)
4366 return memcpy(dest, src, len);
4371 #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE) 4374 if (!(len > 0) || p1 == p2)
4392 return memmove(dest, src, len);
4397 #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET) 4399 unsigned char c =
LZO_ITRUNC(
unsigned char, cc);
4405 return memset(s, cc, len);
4408 #undef LZOLIB_PUBLIC 4410 #if !defined(MINILZO_CFG_SKIP_LZO_INIT) 4412 #if !defined(__LZO_IN_MINILZO) 4414 #define LZO_WANT_ACC_CHK_CH 1 4415 #undef LZOCHK_ASSERT 4417 LZOCHK_ASSERT((LZO_UINT32_C(1) << (
int)(8*
sizeof(LZO_UINT32_C(1))-1)) > 0)
4418 LZOCHK_ASSERT_IS_SIGNED_T(
lzo_int)
4419 LZOCHK_ASSERT_IS_UNSIGNED_T(
lzo_uint)
4420 #if !(__LZO_UINTPTR_T_IS_POINTER) 4424 LZOCHK_ASSERT_IS_UNSIGNED_T(
lzo_xint)
4427 #undef LZOCHK_ASSERT 4429 union lzo_config_check_union {
4432 #if defined(lzo_uint64_t) 4438 #define u2p(ptr,off) ((lzo_voidp) (((lzo_bytep)(lzo_voidp)(ptr)) + (off))) 4449 #if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030100ul && LZO_CC_CLANG < 0x030300ul)) 4454 union lzo_config_check_union u;
4458 u.a[0] = u.a[1] = 0;
4461 #if !(LZO_CFG_NO_CONFIG_CHECK) 4462 #if (LZO_ABI_BIG_ENDIAN) 4463 u.a[0] = u.a[1] = 0; u.b[
sizeof(
lzo_uint) - 1] = 128;
4467 #if (LZO_ABI_LITTLE_ENDIAN) 4468 u.a[0] = u.a[1] = 0; u.b[0] = 128;
4472 u.a[0] = u.a[1] = 0;
4473 u.b[0] = 1; u.b[3] = 2;
4481 #if (LZO_ABI_BIG_ENDIAN) 4484 #if (LZO_ABI_LITTLE_ENDIAN) 4487 u.a[0] = u.a[1] = 0;
4488 u.b[0] = 3; u.b[5] = 4;
4494 u.b[2] = 129; u.b[3] = 130; u.b[4] = 131;
4496 #if (LZO_ABI_BIG_ENDIAN) 4499 #if (LZO_ABI_LITTLE_ENDIAN) 4502 #if defined(UA_GET_NE64) 4503 u.c[0] = u.c[1] = 0;
4504 u.b[0] = 5; u.b[9] = 6;
4506 u.c[0] = u.c[1] = 0;
4507 r &= UA_GET_NE64(p) == 0;
4508 #if defined(UA_GET_LE64) 4509 r &= UA_GET_LE64(p) == 0;
4511 r &= UA_GET_LE64(p) == 128;
4514 #if defined(lzo_bitops_ctlz32) 4515 {
unsigned i = 0; lzo_uint32_t v;
4516 for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
4517 r &= lzo_bitops_ctlz32(v) == 31 - i;
4521 #if defined(lzo_bitops_ctlz64) 4522 {
unsigned i = 0; lzo_uint64_t v;
4523 for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
4524 r &= lzo_bitops_ctlz64(v) == 63 - i;
4525 r &= lzo_bitops_ctlz64_func(v) == 63 - i;
4528 #if defined(lzo_bitops_cttz32) 4529 {
unsigned i = 0; lzo_uint32_t v;
4530 for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
4531 r &= lzo_bitops_cttz32(v) == i;
4535 #if defined(lzo_bitops_cttz64) 4536 {
unsigned i = 0; lzo_uint64_t v;
4537 for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
4538 r &= lzo_bitops_cttz64(v) == i;
4539 r &= lzo_bitops_cttz64_func(v) == i;
4550 int s6,
int s7,
int s8,
int s9)
4554 #if defined(__LZO_IN_MINILZO) 4555 #elif (LZO_CC_MSC && ((_MSC_VER) < 700)) 4557 #define LZO_WANT_ACC_CHK_CH 1 4558 #undef LZOCHK_ASSERT 4559 #define LZOCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr) 4561 #undef LZOCHK_ASSERT 4566 r = (s1 == -1 || s1 == (
int)
sizeof(
short)) &&
4567 (s2 == -1 || s2 == (
int)
sizeof(
int)) &&
4568 (s3 == -1 || s3 == (
int)
sizeof(
long)) &&
4569 (s4 == -1 || s4 == (
int)
sizeof(lzo_uint32_t)) &&
4572 (s7 == -1 || s7 == (
int)
sizeof(
char *)) &&
4585 #if !defined(__LZO_IN_MINILZO) 4587 #if (LZO_OS_WIN16 && LZO_CC_WATCOMC) && defined(__SW_BD) 4590 BOOL FAR PASCAL LibMain ( HANDLE hInstance, WORD wDataSegment,
4591 WORD wHeapSize, LPSTR lpszCmdLine )
4593 int __far __pascal LibMain (
int a,
short b,
short c,
long d )
4607 #define LZO_EOF_CODE 1 4608 #define M2_MAX_OFFSET 0x0800 4610 #if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS) 4612 #if 1 && defined(UA_GET_LE32) 4613 #undef LZO_DICT_USE_PTR 4614 #define LZO_DICT_USE_PTR 0 4616 #define lzo_dict_t lzo_uint16_t 4619 #define LZO_NEED_DICT_H 1 4623 #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) 4624 #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) 4626 #define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) 4628 #define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) 4631 #ifndef __LZO_CONFIG1X_H 4632 #define __LZO_CONFIG1X_H 1 4634 #if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) 4638 #if !defined(__LZO_IN_MINILZO) 4639 #include <lzo/lzo1x.h> 4642 #ifndef LZO_EOF_CODE 4643 #define LZO_EOF_CODE 1 4645 #undef LZO_DETERMINISTIC 4647 #define M1_MAX_OFFSET 0x0400 4648 #ifndef M2_MAX_OFFSET 4649 #define M2_MAX_OFFSET 0x0800 4651 #define M3_MAX_OFFSET 0x4000 4652 #define M4_MAX_OFFSET 0xbfff 4654 #define MX_MAX_OFFSET (M1_MAX_OFFSET + M2_MAX_OFFSET) 4656 #define M1_MIN_LEN 2 4657 #define M1_MAX_LEN 2 4658 #define M2_MIN_LEN 3 4660 #define M2_MAX_LEN 8 4662 #define M3_MIN_LEN 3 4663 #define M3_MAX_LEN 33 4664 #define M4_MIN_LEN 3 4665 #define M4_MAX_LEN 9 4668 #define M2_MARKER 64 4669 #define M3_MARKER 32 4670 #define M4_MARKER 16 4672 #ifndef MIN_LOOKAHEAD 4673 #define MIN_LOOKAHEAD (M2_MAX_LEN + 1) 4676 #if defined(LZO_NEED_DICT_H) 4679 #define LZO_HASH LZO_HASH_LZO_INCREMENTAL_B 4681 #define DL_MIN_LEN M2_MIN_LEN 4683 #ifndef __LZO_DICT_H 4684 #define __LZO_DICT_H 1 4690 #if !defined(D_BITS) && defined(DBITS) 4691 # define D_BITS DBITS 4693 #if !defined(D_BITS) 4694 # error "D_BITS is not defined" 4697 # define D_SIZE LZO_SIZE(D_BITS) 4698 # define D_MASK LZO_MASK(D_BITS) 4700 # define D_SIZE LZO_USIZE(D_BITS) 4701 # define D_MASK LZO_UMASK(D_BITS) 4703 #define D_HIGH ((D_MASK >> 1) + 1) 4705 #if !defined(DD_BITS) 4708 #define DD_SIZE LZO_SIZE(DD_BITS) 4709 #define DD_MASK LZO_MASK(DD_BITS) 4711 #if !defined(DL_BITS) 4712 # define DL_BITS (D_BITS - DD_BITS) 4715 # define DL_SIZE LZO_SIZE(DL_BITS) 4716 # define DL_MASK LZO_MASK(DL_BITS) 4718 # define DL_SIZE LZO_USIZE(DL_BITS) 4719 # define DL_MASK LZO_UMASK(DL_BITS) 4722 #if (D_BITS != DL_BITS + DD_BITS) 4723 # error "D_BITS does not match" 4725 #if (D_BITS < 6 || D_BITS > 18) 4726 # error "invalid D_BITS" 4728 #if (DL_BITS < 6 || DL_BITS > 20) 4729 # error "invalid DL_BITS" 4731 #if (DD_BITS < 0 || DD_BITS > 6) 4732 # error "invalid DD_BITS" 4735 #if !defined(DL_MIN_LEN) 4736 # define DL_MIN_LEN 3 4738 #if !defined(DL_SHIFT) 4739 # define DL_SHIFT ((DL_BITS + (DL_MIN_LEN - 1)) / DL_MIN_LEN) 4742 #define LZO_HASH_GZIP 1 4743 #define LZO_HASH_GZIP_INCREMENTAL 2 4744 #define LZO_HASH_LZO_INCREMENTAL_A 3 4745 #define LZO_HASH_LZO_INCREMENTAL_B 4 4747 #if !defined(LZO_HASH) 4748 # error "choose a hashing strategy" 4754 #if (DL_MIN_LEN == 3) 4755 # define _DV2_A(p,shift1,shift2) \ 4756 (((( (lzo_xint)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2]) 4757 # define _DV2_B(p,shift1,shift2) \ 4758 (((( (lzo_xint)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0]) 4759 # define _DV3_B(p,shift1,shift2,shift3) \ 4760 ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0]) 4761 #elif (DL_MIN_LEN == 2) 4762 # define _DV2_A(p,shift1,shift2) \ 4763 (( (lzo_xint)(p[0]) << shift1) ^ p[1]) 4764 # define _DV2_B(p,shift1,shift2) \ 4765 (( (lzo_xint)(p[1]) << shift1) ^ p[2]) 4767 # error "invalid DL_MIN_LEN" 4769 #define _DV_A(p,shift) _DV2_A(p,shift,shift) 4770 #define _DV_B(p,shift) _DV2_B(p,shift,shift) 4771 #define DA2(p,s1,s2) \ 4772 (((((lzo_xint)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0]) 4773 #define DS2(p,s1,s2) \ 4774 (((((lzo_xint)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0]) 4775 #define DX2(p,s1,s2) \ 4776 (((((lzo_xint)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0]) 4777 #define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0]) 4778 #define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0]) 4779 #define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0]) 4780 #define DMS(v,s) ((lzo_uint) (((v) & (D_MASK >> (s))) << (s))) 4781 #define DM(v) DMS(v,0) 4783 #if (LZO_HASH == LZO_HASH_GZIP) 4784 # define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT)) 4786 #elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL) 4787 # define __LZO_HASH_INCREMENTAL 1 4788 # define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT) 4789 # define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2]) 4790 # define _DINDEX(dv,p) (dv) 4791 # define DVAL_LOOKAHEAD DL_MIN_LEN 4793 #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A) 4794 # define __LZO_HASH_INCREMENTAL 1 4795 # define DVAL_FIRST(dv,p) dv = _DV_A((p),5) 4796 # define DVAL_NEXT(dv,p) \ 4797 dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2]) 4798 # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) 4799 # define DVAL_LOOKAHEAD DL_MIN_LEN 4801 #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B) 4802 # define __LZO_HASH_INCREMENTAL 1 4803 # define DVAL_FIRST(dv,p) dv = _DV_B((p),5) 4804 # define DVAL_NEXT(dv,p) \ 4805 dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5))) 4806 # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) 4807 # define DVAL_LOOKAHEAD DL_MIN_LEN 4810 # error "choose a hashing strategy" 4814 #define DINDEX(dv,p) ((lzo_uint)((_DINDEX(dv,p)) & DL_MASK) << DD_BITS) 4816 #if !defined(DINDEX1) && defined(D_INDEX1) 4817 #define DINDEX1 D_INDEX1 4819 #if !defined(DINDEX2) && defined(D_INDEX2) 4820 #define DINDEX2 D_INDEX2 4823 #if !defined(__LZO_HASH_INCREMENTAL) 4824 # define DVAL_FIRST(dv,p) ((void) 0) 4825 # define DVAL_NEXT(dv,p) ((void) 0) 4826 # define DVAL_LOOKAHEAD 0 4829 #if !defined(DVAL_ASSERT) 4830 #if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG) 4831 #if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 4832 static void __attribute__((__unused__))
4843 # define DVAL_ASSERT(dv,p) ((void) 0) 4847 #if (LZO_DICT_USE_PTR) 4848 # define DENTRY(p,in) (p) 4849 # define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex] 4851 # define DENTRY(p,in) ((lzo_dict_t) pd(p, in)) 4852 # define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex] 4857 # define UPDATE_D(dict,drun,dv,p,in) dict[ DINDEX(dv,p) ] = DENTRY(p,in) 4858 # define UPDATE_I(dict,drun,index,p,in) dict[index] = DENTRY(p,in) 4859 # define UPDATE_P(ptr,drun,p,in) (ptr)[0] = DENTRY(p,in) 4863 # define UPDATE_D(dict,drun,dv,p,in) \ 4864 dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK 4865 # define UPDATE_I(dict,drun,index,p,in) \ 4866 dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK 4867 # define UPDATE_P(ptr,drun,p,in) \ 4868 (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK 4872 #if (LZO_DICT_USE_PTR) 4874 #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ 4875 (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset) 4877 #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ 4878 (BOUNDS_CHECKING_OFF_IN_EXPR(( \ 4879 m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \ 4880 PTR_LT(m_pos,in) || \ 4881 (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) == 0 || \ 4882 m_off > max_offset ))) 4886 #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ 4888 ((m_off = pd(ip, in) - m_off) > max_offset) || \ 4889 (m_pos = (ip) - (m_off), 0) ) 4891 #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ 4892 (pd(ip, in) <= m_off || \ 4893 ((m_off = pd(ip, in) - m_off) > max_offset) || \ 4894 (m_pos = (ip) - (m_off), 0) ) 4898 #if (LZO_DETERMINISTIC) 4899 # define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET 4901 # define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET 4914 #define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) 4917 #define DO_COMPRESS lzo1x_1_compress 4920 #if 1 && defined(DO_COMPRESS) && !defined(do_compress) 4921 # define do_compress LZO_PP_ECONCAT2(DO_COMPRESS,_core) 4931 const lzo_bytep const in_end = in + in_len;
4932 const lzo_bytep const ip_end = in + in_len - 20;
4940 ip += ti < 4 ? 4 - ti : 0;
4944 #if !(LZO_DETERMINISTIC) 4952 GINDEX(m_pos,m_off,dict,dindex,in);
4960 GINDEX(m_pos,m_off,dict,dindex,in);
4968 #if (LZO_OPT_UNALIGNED32) 4971 if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos[3] != ip[3])
4976 ip += 1 + ((ip - ii) >> 5);
4987 ip += 1 + ((ip - ii) >> 5);
4993 GINDEX(m_off,m_pos,in+dict,dindex,in);
5008 #if (LZO_OPT_UNALIGNED32) 5012 {
do *op++ = *ii++;
while (--t > 0); }
5015 #if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) 5041 #if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) 5045 op += 16; ii += 16; t -= 16;
5046 }
while (t >= 16);
if (t > 0)
5048 {
do *op++ = *ii++;
while (--t > 0); }
5054 #if (LZO_OPT_UNALIGNED64) 5056 v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
5060 v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
5065 #if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz64) 5066 m_len += lzo_bitops_ctlz64(v) / CHAR_BIT;
5067 #elif (LZO_ABI_BIG_ENDIAN) 5068 if ((v >> (64 - CHAR_BIT)) == 0)
do {
5071 }
while ((v >> (64 - CHAR_BIT)) == 0);
5072 #elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz64) 5073 m_len += lzo_bitops_cttz64(v) / CHAR_BIT;
5074 #elif (LZO_ABI_LITTLE_ENDIAN) 5075 if ((v & UCHAR_MAX) == 0)
do {
5078 }
while ((v & UCHAR_MAX) == 0);
5080 if (ip[m_len] == m_pos[m_len])
do {
5082 }
while (ip[m_len] == m_pos[m_len]);
5084 #elif (LZO_OPT_UNALIGNED32) 5099 #if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz32) 5100 m_len += lzo_bitops_ctlz32(v) / CHAR_BIT;
5101 #elif (LZO_ABI_BIG_ENDIAN) 5102 if ((v >> (32 - CHAR_BIT)) == 0)
do {
5105 }
while ((v >> (32 - CHAR_BIT)) == 0);
5106 #elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz32) 5107 m_len += lzo_bitops_cttz32(v) / CHAR_BIT;
5108 #elif (LZO_ABI_LITTLE_ENDIAN) 5109 if ((v & UCHAR_MAX) == 0)
do {
5112 }
while ((v & UCHAR_MAX) == 0);
5114 if (ip[m_len] == m_pos[m_len])
do {
5116 }
while (ip[m_len] == m_pos[m_len]);
5122 if (ip[m_len] != m_pos[m_len])
5125 if (ip[m_len] != m_pos[m_len])
5128 if (ip[m_len] != m_pos[m_len])
5131 if (ip[m_len] != m_pos[m_len])
5134 if (ip[m_len] != m_pos[m_len])
5137 if (ip[m_len] != m_pos[m_len])
5140 if (ip[m_len] != m_pos[m_len])
5145 }
while (ip[m_len] == m_pos[m_len]);
5150 m_off =
pd(ip,m_pos);
5157 *op++ =
LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
5159 #elif defined(LZO1Y) 5160 *op++ =
LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2));
5207 *out_len =
pd(op, out);
5208 return pd(in_end,ii-ti);
5225 #if 0 || (LZO_DETERMINISTIC) 5229 if ((ll_end + ((t + ll) >> 5)) <= ll_end || (
const lzo_bytep)(ll_end + ((t + ll) >> 5)) <= ip + ll)
5231 #if (LZO_DETERMINISTIC) 5245 if (op == out && t <= 238)
5273 *out_len =
pd(op, out);
5283 #undef LZO_TEST_OVERRUN 5284 #undef DO_DECOMPRESS 5285 #define DO_DECOMPRESS lzo1x_decompress 5287 #if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS) 5289 #if defined(LZO_TEST_OVERRUN) 5290 # if !defined(LZO_TEST_OVERRUN_INPUT) 5291 # define LZO_TEST_OVERRUN_INPUT 2 5293 # if !defined(LZO_TEST_OVERRUN_OUTPUT) 5294 # define LZO_TEST_OVERRUN_OUTPUT 2 5296 # if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) 5297 # define LZO_TEST_OVERRUN_LOOKBEHIND 1 5303 #undef TEST_IP_AND_TEST_OP 5317 #if defined(LZO_TEST_OVERRUN_INPUT) 5318 # if (LZO_TEST_OVERRUN_INPUT >= 1) 5319 # define TEST_IP (ip < ip_end) 5321 # if (LZO_TEST_OVERRUN_INPUT >= 2) 5322 # define NEED_IP(x) \ 5323 if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun 5324 # define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun 5328 #if defined(LZO_TEST_OVERRUN_OUTPUT) 5329 # if (LZO_TEST_OVERRUN_OUTPUT >= 1) 5330 # define TEST_OP (op <= op_end) 5332 # if (LZO_TEST_OVERRUN_OUTPUT >= 2) 5334 # define NEED_OP(x) \ 5335 if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun 5336 # define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun 5340 #if defined(LZO_TEST_OVERRUN_LOOKBEHIND) 5341 # define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun 5342 # define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun 5344 # define TEST_LB(m_pos) ((void) 0) 5345 # define TEST_LBO(m_pos,o) ((void) 0) 5348 #if !defined(LZO_EOF_CODE) && !defined(TEST_IP) 5349 # define TEST_IP (ip < ip_end) 5352 #if defined(TEST_IP) 5353 # define HAVE_TEST_IP 1 5357 #if defined(TEST_OP) 5358 # define HAVE_TEST_OP 1 5363 #if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP) 5364 # define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP) 5365 #elif defined(HAVE_TEST_IP) 5366 # define TEST_IP_AND_TEST_OP TEST_IP 5367 #elif defined(HAVE_TEST_OP) 5368 # define TEST_IP_AND_TEST_OP TEST_OP 5370 # define TEST_IP_AND_TEST_OP 1 5373 #if defined(NEED_IP) 5374 # define HAVE_NEED_IP 1 5376 # define NEED_IP(x) ((void) 0) 5377 # define TEST_IV(x) ((void) 0) 5379 #if defined(NEED_OP) 5380 # define HAVE_NEED_OP 1 5382 # define NEED_OP(x) ((void) 0) 5383 # define TEST_OV(x) ((void) 0) 5386 #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) 5387 # define HAVE_ANY_IP 1 5389 #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) 5390 # define HAVE_ANY_OP 1 5393 #if defined(DO_DECOMPRESS) 5403 #if defined(COPY_DICT) 5410 const lzo_bytep const ip_end = in + in_len;
5411 #if defined(HAVE_ANY_OP) 5412 lzo_bytep const op_end = out + *out_len;
5420 #if defined(COPY_DICT) 5428 dict_end = dict + dict_len;
5449 do *op++ = *ip++;
while (--t > 0);
5450 goto first_literal_run;
5471 #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) 5476 op += 8; ip += 8; t -= 8;
5481 op += 4; ip += 4; t -= 4;
5486 if (t > 1) { *op++ = *ip++;
if (t > 2) { *op++ = *ip++; } }
5488 #elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) 5489 #if !(LZO_OPT_UNALIGNED32) 5501 op += 4; ip += 4; t -= 4;
5503 if (t > 0)
do *op++ = *ip++;
while (--t > 0);
5506 do *op++ = *ip++;
while (--t > 0);
5508 #if !(LZO_OPT_UNALIGNED32) 5513 #if !(LZO_OPT_UNALIGNED32) 5515 *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
5516 do *op++ = *ip++;
while (--t > 0);
5525 #if defined(COPY_DICT) 5533 t = 3; COPY_DICT(t,m_off)
5542 m_pos -= *ip++ << 2;
5545 *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
5553 #if defined(COPY_DICT) 5555 m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
5557 #elif defined(LZO1Y) 5558 m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
5560 #elif defined(LZO1Z) 5566 m_off = 1 + (m_off << 6) + (*ip++ >> 2);
5574 m_pos -= (t >> 2) & 7;
5575 m_pos -= *ip++ << 3;
5577 #elif defined(LZO1Y) 5579 m_pos -= (t >> 2) & 3;
5580 m_pos -= *ip++ << 2;
5582 #elif defined(LZO1Z) 5588 assert(last_m_off > 0);
5589 m_pos -= last_m_off;
5593 off = 1 + (off << 6) + (*ip++ >> 2);
5619 #if defined(COPY_DICT) 5621 m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
5624 m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
5629 lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
5633 #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 5638 m_pos -= (ip[0] >> 2) + (ip[1] << 6);
5645 #if defined(COPY_DICT) 5646 m_off = (t & 8) << 11;
5649 m_pos -= (t & 8) << 11;
5664 #if defined(COPY_DICT) 5666 m_off += (ip[0] << 6) + (ip[1] >> 2);
5668 m_off += (ip[0] >> 2) + (ip[1] << 6);
5679 m_pos -= (ip[0] << 6) + (ip[1] >> 2);
5680 #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 5683 m_pos -= (ip[0] >> 2) + (ip[1] << 6);
5696 #if defined(COPY_DICT) 5698 m_off = 1 + (t << 6) + (*ip++ >> 2);
5701 m_off = 1 + (t >> 2) + (*ip++ << 2);
5704 t = 2; COPY_DICT(t,m_off)
5707 t = 1 + (t << 6) + (*ip++ >> 2);
5713 m_pos -= *ip++ << 2;
5716 *op++ = *m_pos++; *op++ = *m_pos;
5721 #if defined(COPY_DICT) 5724 t += 3-1; COPY_DICT(t,m_off)
5729 #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) 5730 if (op - m_pos >= 8)
5736 op += 8; m_pos += 8; t -= 8;
5741 op += 4; m_pos += 4; t -= 4;
5746 if (t > 1) { *op++ = m_pos[1];
if (t > 2) { *op++ = m_pos[2]; } }
5750 #elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) 5751 #if !(LZO_OPT_UNALIGNED32) 5754 assert((op - m_pos) >= 4);
5756 if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
5760 op += 4; m_pos += 4; t -= 4 - (3 - 1);
5763 op += 4; m_pos += 4; t -= 4;
5765 if (t > 0)
do *op++ = *m_pos++;
while (--t > 0);
5771 *op++ = *m_pos++; *op++ = *m_pos++;
5772 do *op++ = *m_pos++;
while (--t > 0);
5789 do *op++ = *ip++;
while (--t > 0);
5792 if (t > 1) { *op++ = *ip++;
if (t > 2) { *op++ = *ip++; } }
5799 *out_len =
pd(op, out);
5803 #if defined(HAVE_NEED_IP) 5805 *out_len =
pd(op, out);
5809 #if defined(HAVE_NEED_OP) 5811 *out_len =
pd(op, out);
5815 #if defined(LZO_TEST_OVERRUN_LOOKBEHIND) 5817 *out_len =
pd(op, out);
5824 #define LZO_TEST_OVERRUN 1 5825 #undef DO_DECOMPRESS 5826 #define DO_DECOMPRESS lzo1x_decompress_safe 5828 #if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS_SAFE) 5830 #if defined(LZO_TEST_OVERRUN) 5831 # if !defined(LZO_TEST_OVERRUN_INPUT) 5832 # define LZO_TEST_OVERRUN_INPUT 2 5834 # if !defined(LZO_TEST_OVERRUN_OUTPUT) 5835 # define LZO_TEST_OVERRUN_OUTPUT 2 5837 # if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) 5838 # define LZO_TEST_OVERRUN_LOOKBEHIND 1 5844 #undef TEST_IP_AND_TEST_OP 5858 #if defined(LZO_TEST_OVERRUN_INPUT) 5859 # if (LZO_TEST_OVERRUN_INPUT >= 1) 5860 # define TEST_IP (ip < ip_end) 5862 # if (LZO_TEST_OVERRUN_INPUT >= 2) 5863 # define NEED_IP(x) \ 5864 if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun 5865 # define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun 5869 #if defined(LZO_TEST_OVERRUN_OUTPUT) 5870 # if (LZO_TEST_OVERRUN_OUTPUT >= 1) 5871 # define TEST_OP (op <= op_end) 5873 # if (LZO_TEST_OVERRUN_OUTPUT >= 2) 5875 # define NEED_OP(x) \ 5876 if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun 5877 # define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun 5881 #if defined(LZO_TEST_OVERRUN_LOOKBEHIND) 5882 # define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun 5883 # define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun 5885 # define TEST_LB(m_pos) ((void) 0) 5886 # define TEST_LBO(m_pos,o) ((void) 0) 5889 #if !defined(LZO_EOF_CODE) && !defined(TEST_IP) 5890 # define TEST_IP (ip < ip_end) 5893 #if defined(TEST_IP) 5894 # define HAVE_TEST_IP 1 5898 #if defined(TEST_OP) 5899 # define HAVE_TEST_OP 1 5904 #if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP) 5905 # define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP) 5906 #elif defined(HAVE_TEST_IP) 5907 # define TEST_IP_AND_TEST_OP TEST_IP 5908 #elif defined(HAVE_TEST_OP) 5909 # define TEST_IP_AND_TEST_OP TEST_OP 5911 # define TEST_IP_AND_TEST_OP 1 5914 #if defined(NEED_IP) 5915 # define HAVE_NEED_IP 1 5917 # define NEED_IP(x) ((void) 0) 5918 # define TEST_IV(x) ((void) 0) 5920 #if defined(NEED_OP) 5921 # define HAVE_NEED_OP 1 5923 # define NEED_OP(x) ((void) 0) 5924 # define TEST_OV(x) ((void) 0) 5927 #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) 5928 # define HAVE_ANY_IP 1 5930 #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) 5931 # define HAVE_ANY_OP 1 5934 #if defined(DO_DECOMPRESS) 5944 #if defined(COPY_DICT) 5951 const lzo_bytep const ip_end = in + in_len;
5952 #if defined(HAVE_ANY_OP) 5953 lzo_bytep const op_end = out + *out_len;
5961 #if defined(COPY_DICT) 5969 dict_end = dict + dict_len;
5990 do *op++ = *ip++;
while (--t > 0);
5991 goto first_literal_run;
6012 #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) 6017 op += 8; ip += 8; t -= 8;
6022 op += 4; ip += 4; t -= 4;
6027 if (t > 1) { *op++ = *ip++;
if (t > 2) { *op++ = *ip++; } }
6029 #elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) 6030 #if !(LZO_OPT_UNALIGNED32) 6042 op += 4; ip += 4; t -= 4;
6044 if (t > 0)
do *op++ = *ip++;
while (--t > 0);
6047 do *op++ = *ip++;
while (--t > 0);
6049 #if !(LZO_OPT_UNALIGNED32) 6054 #if !(LZO_OPT_UNALIGNED32) 6056 *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
6057 do *op++ = *ip++;
while (--t > 0);
6066 #if defined(COPY_DICT) 6074 t = 3; COPY_DICT(t,m_off)
6083 m_pos -= *ip++ << 2;
6086 *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
6094 #if defined(COPY_DICT) 6096 m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
6098 #elif defined(LZO1Y) 6099 m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
6101 #elif defined(LZO1Z) 6107 m_off = 1 + (m_off << 6) + (*ip++ >> 2);
6115 m_pos -= (t >> 2) & 7;
6116 m_pos -= *ip++ << 3;
6118 #elif defined(LZO1Y) 6120 m_pos -= (t >> 2) & 3;
6121 m_pos -= *ip++ << 2;
6123 #elif defined(LZO1Z) 6129 assert(last_m_off > 0);
6130 m_pos -= last_m_off;
6134 off = 1 + (off << 6) + (*ip++ >> 2);
6160 #if defined(COPY_DICT) 6162 m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
6165 m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
6170 lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
6174 #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 6179 m_pos -= (ip[0] >> 2) + (ip[1] << 6);
6186 #if defined(COPY_DICT) 6187 m_off = (t & 8) << 11;
6190 m_pos -= (t & 8) << 11;
6205 #if defined(COPY_DICT) 6207 m_off += (ip[0] << 6) + (ip[1] >> 2);
6209 m_off += (ip[0] >> 2) + (ip[1] << 6);
6220 m_pos -= (ip[0] << 6) + (ip[1] >> 2);
6221 #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) 6224 m_pos -= (ip[0] >> 2) + (ip[1] << 6);
6237 #if defined(COPY_DICT) 6239 m_off = 1 + (t << 6) + (*ip++ >> 2);
6242 m_off = 1 + (t >> 2) + (*ip++ << 2);
6245 t = 2; COPY_DICT(t,m_off)
6248 t = 1 + (t << 6) + (*ip++ >> 2);
6254 m_pos -= *ip++ << 2;
6257 *op++ = *m_pos++; *op++ = *m_pos;
6262 #if defined(COPY_DICT) 6265 t += 3-1; COPY_DICT(t,m_off)
6270 #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) 6271 if (op - m_pos >= 8)
6277 op += 8; m_pos += 8; t -= 8;
6282 op += 4; m_pos += 4; t -= 4;
6287 if (t > 1) { *op++ = m_pos[1];
if (t > 2) { *op++ = m_pos[2]; } }
6291 #elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) 6292 #if !(LZO_OPT_UNALIGNED32) 6295 assert((op - m_pos) >= 4);
6297 if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
6301 op += 4; m_pos += 4; t -= 4 - (3 - 1);
6304 op += 4; m_pos += 4; t -= 4;
6306 if (t > 0)
do *op++ = *m_pos++;
while (--t > 0);
6312 *op++ = *m_pos++; *op++ = *m_pos++;
6313 do *op++ = *m_pos++;
while (--t > 0);
6330 do *op++ = *ip++;
while (--t > 0);
6333 if (t > 1) { *op++ = *ip++;
if (t > 2) { *op++ = *ip++; } }
6340 *out_len =
pd(op, out);
6344 #if defined(HAVE_NEED_IP) 6346 *out_len =
pd(op, out);
6350 #if defined(HAVE_NEED_OP) 6352 *out_len =
pd(op, out);
6356 #if defined(LZO_TEST_OVERRUN_LOOKBEHIND) 6358 *out_len =
pd(op, out);
#define LZO_DEFINE_UNINITIALIZED_VAR(type, var, init)
#define LZO_CHECK_MPOS_NON_DET(m_pos, m_off, in, ip, max_offset)
struct lzo_memops_TU2_struct lzo_memops_TU2
#define LZO_SIZEOF_VOID_P
#define LZO_VERSION_STRING
#define lzo_uint_fast32_t
#define DVAL_FIRST(dv, p)
struct lzo_memops_TU8_struct lzo_memops_TU8
__lzo_static_forceinline unsigned lzo_bitops_ctlz32_func(lzo_uint32_t v)
__lzo_static_forceinline lzo_uint32_t lzo_memops_get_ne32(const lzo_voidp ss)
#define LZO_SIZEOF_PTRDIFF_T
#define LZO_E_LOOKBEHIND_OVERRUN
#define __lzo_gnuc_extension__
typedef void(__LZO_CDECL *lzo_free_func_t)(lzo_callback_p self
#define LZO_E_INPUT_NOT_CONSUMED
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU1p) 0)==1)
__lzo_ptr_linear(const lzo_voidp ptr)
#define UPDATE_I(dict, drun, index, p, in)
#define LZO_MEMOPS_COPY2(dd, ss)
#define GINDEX(m_pos, m_off, dict, dindex, in)
_lzo_version_string(void)
#define LZO_STATIC_CAST(t, e)
#define lzo_int_least32_t
#define LZO_SIZEOF_SIZE_T
#define __lzo_unlikely(e)
#define LZO_E_OUTPUT_OVERRUN
struct lzo_memops_TU4_struct lzo_memops_TU4
LZO_EXTERN(const lzo_bytep)
#define __lzo_static_forceinline
__lzo_static_forceinline unsigned lzo_bitops_cttz32_func(lzo_uint32_t v)
__lzo_static_forceinline void lzo_memops_put_le32(lzo_voidp dd, lzo_uint32_t vv)
#define lzo_uint_least32_t
#define lzo_memset(a, b, c)
__lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5, int s6, int s7, int s8, int s9)
lzo_uint lzo_bytep lzo_uintp lzo_voidp wrkmem
#define lzo_sizeof_dict_t
#define LZO_SIZEOF_LZO_INT32F_T
struct lzo_memops_TU2_struct __lzo_may_alias
typedef lzo_voidp(__LZO_CDECL *lzo_alloc_func_t)(lzo_callback_p self
__lzo_static_forceinline void lzo_memops_put_ne16(lzo_voidp dd, lzo_uint16_t vv)
#define PTR_ALIGNED2_4(a, b)
#define LZOLIB_PUBLIC(r, f)
__lzo_static_forceinline lzo_uint16_t lzo_memops_get_ne16(const lzo_voidp ss)
struct lzo_callback_t lzo_callback_t
lzo_unused_funcs_impl(void, lzo_bitops_unused_funcs)
#define LZO_UNUSED_FUNC(func)
__lzo_static_forceinline void lzo_memops_put_ne32(lzo_voidp dd, lzo_uint32_t vv)
#define DVAL_ASSERT(dv, p)
#define LZO_MEMOPS_COPY4(dd, ss)
__lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
#define LZO_E_INPUT_OVERRUN
__lzo_static_forceinline lzo_uint32_t lzo_memops_get_le32(const lzo_voidp ss)
lzo_adler32(lzo_uint32_t adler, const lzo_bytep buf, lzo_uint len)
__lzo_static_forceinline void lzo_memops_put_le16(lzo_voidp dd, lzo_uint16_t vv)