1 /* lzodefs.h -- architecture, OS and compiler specific defines 2 3 This file is part of the LZO real-time data compression library. 4 5 Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer 6 All Rights Reserved. 7 8 The LZO library is free software; you can redistribute it and/or 9 modify it under the terms of the GNU General Public License as 10 published by the Free Software Foundation; either version 2 of 11 the License, or (at your option) any later version. 12 13 The LZO library is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with the LZO library; see the file COPYING. 20 If not, write to the Free Software Foundation, Inc., 21 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 23 Markus F.X.J. Oberhumer 24 <markus@oberhumer.com> 25 http://www.oberhumer.com/opensource/lzo/ 26 */ 27 28 29 #ifndef __LZODEFS_H_INCLUDED 30 #define __LZODEFS_H_INCLUDED 1 31 32 #include <limits.h> 33 34 #if defined(__CYGWIN32__) && !defined(__CYGWIN__) 35 # define __CYGWIN__ __CYGWIN32__ 36 #endif 37 #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) 38 # define _ALL_SOURCE 1 39 #endif 40 #if defined(__mips__) && defined(__R5900__) 41 # if !defined(__LONG_MAX__) 42 # define __LONG_MAX__ 9223372036854775807L 43 # endif 44 #endif 45 #if 0 46 #elif !defined(__LZO_LANG_OVERRIDE) 47 #if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__) 48 # if (__ASSEMBLER__+0) <= 0 49 # error "__ASSEMBLER__" 50 # else 51 # define LZO_LANG_ASSEMBLER 1 52 # endif 53 #elif defined(__cplusplus) 54 # if (__cplusplus+0) <= 0 55 # error "__cplusplus" 56 # elif (__cplusplus < 199711L) 57 # define LZO_LANG_CXX 1 58 # elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1 59 # define LZO_LANG_CXX _MSVC_LANG 60 # else 61 # define LZO_LANG_CXX __cplusplus 62 # endif 63 # define LZO_LANG_CPLUSPLUS LZO_LANG_CXX 64 #else 65 # if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L) 66 # define LZO_LANG_C __STDC_VERSION__ 67 # else 68 # define LZO_LANG_C 1 69 # endif 70 #endif 71 #endif 72 #if !defined(LZO_CFG_NO_DISABLE_WUNDEF) 73 #if defined(__ARMCC_VERSION) 74 # pragma diag_suppress 193 75 #elif defined(__clang__) && defined(__clang_minor__) 76 # pragma clang diagnostic ignored "-Wundef" 77 #elif defined(__INTEL_COMPILER) 78 # pragma warning(disable: 193) 79 #elif defined(__KEIL__) && defined(__C166__) 80 # pragma warning disable = 322 81 #elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__) 82 # if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2)) 83 # pragma GCC diagnostic ignored "-Wundef" 84 # endif 85 #elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) 86 # if ((_MSC_VER-0) >= 1300) 87 # pragma warning(disable: 4668) 88 # endif 89 #endif 90 #endif 91 #if 0 && defined(__POCC__) && defined(_WIN32) 92 # if (__POCC__ >= 400) 93 # pragma warn(disable: 2216) 94 # endif 95 #endif 96 #if 0 && defined(__WATCOMC__) 97 # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) 98 # pragma warning 203 9 99 # endif 100 #endif 101 #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) 102 # pragma option -h 103 #endif 104 #if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC) 105 #ifndef _CRT_NONSTDC_NO_DEPRECATE 106 #define _CRT_NONSTDC_NO_DEPRECATE 1 107 #endif 108 #ifndef _CRT_NONSTDC_NO_WARNINGS 109 #define _CRT_NONSTDC_NO_WARNINGS 1 110 #endif 111 #ifndef _CRT_SECURE_NO_DEPRECATE 112 #define _CRT_SECURE_NO_DEPRECATE 1 113 #endif 114 #ifndef _CRT_SECURE_NO_WARNINGS 115 #define _CRT_SECURE_NO_WARNINGS 1 116 #endif 117 #endif 118 #if 0 119 #define LZO_0xffffUL 0xfffful 120 #define LZO_0xffffffffUL 0xfffffffful 121 #else 122 #define LZO_0xffffUL 65535ul 123 #define LZO_0xffffffffUL 4294967295ul 124 #endif 125 #define LZO_0xffffL LZO_0xffffUL 126 #define LZO_0xffffffffL LZO_0xffffffffUL 127 #if (LZO_0xffffL == LZO_0xffffffffL) 128 # error "your preprocessor is broken 1" 129 #endif 130 #if (16ul * 16384ul != 262144ul) 131 # error "your preprocessor is broken 2" 132 #endif 133 #if 0 134 #if (32767 >= 4294967295ul) 135 # error "your preprocessor is broken 3" 136 #endif 137 #if (65535u >= 4294967295ul) 138 # error "your preprocessor is broken 4" 139 #endif 140 #endif 141 #if defined(__COUNTER__) 142 # ifndef LZO_CFG_USE_COUNTER 143 # define LZO_CFG_USE_COUNTER 1 144 # endif 145 #else 146 # undef LZO_CFG_USE_COUNTER 147 #endif 148 #if (UINT_MAX == LZO_0xffffL) 149 #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) 150 # if !defined(MSDOS) 151 # define MSDOS 1 152 # endif 153 # if !defined(_MSDOS) 154 # define _MSDOS 1 155 # endif 156 #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) 157 # if (__VERSION == 520) && (MB_LEN_MAX == 1) 158 # if !defined(__AZTEC_C__) 159 # define __AZTEC_C__ __VERSION 160 # endif 161 # if !defined(__DOS__) 162 # define __DOS__ 1 163 # endif 164 # endif 165 #endif 166 #endif 167 #if (UINT_MAX == LZO_0xffffL) 168 #if defined(_MSC_VER) && defined(M_I86HM) 169 # define ptrdiff_t long 170 # define _PTRDIFF_T_DEFINED 1 171 #endif 172 #endif 173 #if (UINT_MAX == LZO_0xffffL) 174 # undef __LZO_RENAME_A 175 # undef __LZO_RENAME_B 176 # if defined(__AZTEC_C__) && defined(__DOS__) 177 # define __LZO_RENAME_A 1 178 # elif defined(_MSC_VER) && defined(MSDOS) 179 # if (_MSC_VER < 600) 180 # define __LZO_RENAME_A 1 181 # elif (_MSC_VER < 700) 182 # define __LZO_RENAME_B 1 183 # endif 184 # elif defined(__TSC__) && defined(__OS2__) 185 # define __LZO_RENAME_A 1 186 # elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) 187 # define __LZO_RENAME_A 1 188 # elif defined(__PACIFIC__) && defined(DOS) 189 # if !defined(__far) 190 # define __far far 191 # endif 192 # if !defined(__near) 193 # define __near near 194 # endif 195 # endif 196 # if defined(__LZO_RENAME_A) 197 # if !defined(__cdecl) 198 # define __cdecl cdecl 199 # endif 200 # if !defined(__far) 201 # define __far far 202 # endif 203 # if !defined(__huge) 204 # define __huge huge 205 # endif 206 # if !defined(__near) 207 # define __near near 208 # endif 209 # if !defined(__pascal) 210 # define __pascal pascal 211 # endif 212 # if !defined(__huge) 213 # define __huge huge 214 # endif 215 # elif defined(__LZO_RENAME_B) 216 # if !defined(__cdecl) 217 # define __cdecl _cdecl 218 # endif 219 # if !defined(__far) 220 # define __far _far 221 # endif 222 # if !defined(__huge) 223 # define __huge _huge 224 # endif 225 # if !defined(__near) 226 # define __near _near 227 # endif 228 # if !defined(__pascal) 229 # define __pascal _pascal 230 # endif 231 # elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 232 # if !defined(__cdecl) 233 # define __cdecl cdecl 234 # endif 235 # if !defined(__pascal) 236 # define __pascal pascal 237 # endif 238 # endif 239 # undef __LZO_RENAME_A 240 # undef __LZO_RENAME_B 241 #endif 242 #if (UINT_MAX == LZO_0xffffL) 243 #if defined(__AZTEC_C__) && defined(__DOS__) 244 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 245 #elif defined(_MSC_VER) && defined(MSDOS) 246 # if (_MSC_VER < 600) 247 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 248 # endif 249 # if (_MSC_VER < 700) 250 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 251 # define LZO_BROKEN_SIZEOF 1 252 # endif 253 #elif defined(__PACIFIC__) && defined(DOS) 254 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 255 #elif defined(__TURBOC__) && defined(__MSDOS__) 256 # if (__TURBOC__ < 0x0150) 257 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 258 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 259 # define LZO_BROKEN_INTEGRAL_PROMOTION 1 260 # endif 261 # if (__TURBOC__ < 0x0200) 262 # define LZO_BROKEN_SIZEOF 1 263 # endif 264 # if (__TURBOC__ < 0x0400) && defined(__cplusplus) 265 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 266 # endif 267 #elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) 268 # define LZO_BROKEN_CDECL_ALT_SYNTAX 1 269 # define LZO_BROKEN_SIZEOF 1 270 #endif 271 #endif 272 #if defined(__WATCOMC__) && (__WATCOMC__ < 900) 273 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1 274 #endif 275 #if defined(_CRAY) && defined(_CRAY1) 276 # define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 277 #endif 278 #define LZO_PP_STRINGIZE(x) #x 279 #define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) 280 #define LZO_PP_CONCAT0() /*empty*/ 281 #define LZO_PP_CONCAT1(a) a 282 #define LZO_PP_CONCAT2(a,b) a ## b 283 #define LZO_PP_CONCAT3(a,b,c) a ## b ## c 284 #define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d 285 #define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 286 #define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f 287 #define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g 288 #define LZO_PP_ECONCAT0() LZO_PP_CONCAT0() 289 #define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a) 290 #define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) 291 #define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) 292 #define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) 293 #define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) 294 #define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f) 295 #define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g) 296 #define LZO_PP_EMPTY /*empty*/ 297 #define LZO_PP_EMPTY0() /*empty*/ 298 #define LZO_PP_EMPTY1(a) /*empty*/ 299 #define LZO_PP_EMPTY2(a,b) /*empty*/ 300 #define LZO_PP_EMPTY3(a,b,c) /*empty*/ 301 #define LZO_PP_EMPTY4(a,b,c,d) /*empty*/ 302 #define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/ 303 #define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/ 304 #define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/ 305 #if 1 306 #define LZO_CPP_STRINGIZE(x) #x 307 #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) 308 #define LZO_CPP_CONCAT2(a,b) a ## b 309 #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c 310 #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d 311 #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e 312 #define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f 313 #define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g 314 #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) 315 #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) 316 #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) 317 #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) 318 #define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f) 319 #define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g) 320 #endif 321 #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0)) 322 #if 1 && defined(__cplusplus) 323 # if !defined(__STDC_CONSTANT_MACROS) 324 # define __STDC_CONSTANT_MACROS 1 325 # endif 326 # if !defined(__STDC_LIMIT_MACROS) 327 # define __STDC_LIMIT_MACROS 1 328 # endif 329 #endif 330 #if defined(__cplusplus) 331 # define LZO_EXTERN_C extern "C" 332 # define LZO_EXTERN_C_BEGIN extern "C" { 333 # define LZO_EXTERN_C_END } 334 #else 335 # define LZO_EXTERN_C extern 336 # define LZO_EXTERN_C_BEGIN /*empty*/ 337 # define LZO_EXTERN_C_END /*empty*/ 338 #endif 339 #if !defined(__LZO_OS_OVERRIDE) 340 #if (LZO_OS_FREESTANDING) 341 # define LZO_INFO_OS "freestanding" 342 #elif (LZO_OS_EMBEDDED) 343 # define LZO_INFO_OS "embedded" 344 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 345 # define LZO_OS_EMBEDDED 1 346 # define LZO_INFO_OS "embedded" 347 #elif defined(__CYGWIN__) && defined(__GNUC__) 348 # define LZO_OS_CYGWIN 1 349 # define LZO_INFO_OS "cygwin" 350 #elif defined(__EMX__) && defined(__GNUC__) 351 # define LZO_OS_EMX 1 352 # define LZO_INFO_OS "emx" 353 #elif defined(__BEOS__) 354 # define LZO_OS_BEOS 1 355 # define LZO_INFO_OS "beos" 356 #elif defined(__Lynx__) 357 # define LZO_OS_LYNXOS 1 358 # define LZO_INFO_OS "lynxos" 359 #elif defined(__OS400__) 360 # define LZO_OS_OS400 1 361 # define LZO_INFO_OS "os400" 362 #elif defined(__QNX__) 363 # define LZO_OS_QNX 1 364 # define LZO_INFO_OS "qnx" 365 #elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) 366 # define LZO_OS_DOS32 1 367 # define LZO_INFO_OS "dos32" 368 #elif defined(__BORLANDC__) && defined(__DPMI16__) 369 # define LZO_OS_DOS16 1 370 # define LZO_INFO_OS "dos16" 371 #elif defined(__ZTC__) && defined(DOS386) 372 # define LZO_OS_DOS32 1 373 # define LZO_INFO_OS "dos32" 374 #elif defined(__OS2__) || defined(__OS2V2__) 375 # if (UINT_MAX == LZO_0xffffL) 376 # define LZO_OS_OS216 1 377 # define LZO_INFO_OS "os216" 378 # elif (UINT_MAX == LZO_0xffffffffL) 379 # define LZO_OS_OS2 1 380 # define LZO_INFO_OS "os2" 381 # else 382 # error "check your limits.h header" 383 # endif 384 #elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) 385 # define LZO_OS_WIN64 1 386 # define LZO_INFO_OS "win64" 387 #elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) 388 # define LZO_OS_WIN32 1 389 # define LZO_INFO_OS "win32" 390 #elif defined(__MWERKS__) && defined(__INTEL__) 391 # define LZO_OS_WIN32 1 392 # define LZO_INFO_OS "win32" 393 #elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) 394 # if (UINT_MAX == LZO_0xffffL) 395 # define LZO_OS_WIN16 1 396 # define LZO_INFO_OS "win16" 397 # elif (UINT_MAX == LZO_0xffffffffL) 398 # define LZO_OS_WIN32 1 399 # define LZO_INFO_OS "win32" 400 # else 401 # error "check your limits.h header" 402 # endif 403 #elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) 404 # if (UINT_MAX == LZO_0xffffL) 405 # define LZO_OS_DOS16 1 406 # define LZO_INFO_OS "dos16" 407 # elif (UINT_MAX == LZO_0xffffffffL) 408 # define LZO_OS_DOS32 1 409 # define LZO_INFO_OS "dos32" 410 # else 411 # error "check your limits.h header" 412 # endif 413 #elif defined(__WATCOMC__) 414 # if defined(__NT__) && (UINT_MAX == LZO_0xffffL) 415 # define LZO_OS_DOS16 1 416 # define LZO_INFO_OS "dos16" 417 # elif defined(__NT__) && (__WATCOMC__ < 1100) 418 # define LZO_OS_WIN32 1 419 # define LZO_INFO_OS "win32" 420 # elif defined(__linux__) || defined(__LINUX__) 421 # define LZO_OS_POSIX 1 422 # define LZO_INFO_OS "posix" 423 # else 424 # error "please specify a target using the -bt compiler option" 425 # endif 426 #elif defined(__palmos__) 427 # define LZO_OS_PALMOS 1 428 # define LZO_INFO_OS "palmos" 429 #elif defined(__TOS__) || defined(__atarist__) 430 # define LZO_OS_TOS 1 431 # define LZO_INFO_OS "tos" 432 #elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__) 433 # define LZO_OS_MACCLASSIC 1 434 # define LZO_INFO_OS "macclassic" 435 #elif defined(__VMS) 436 # define LZO_OS_VMS 1 437 # define LZO_INFO_OS "vms" 438 #elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__) 439 # define LZO_OS_CONSOLE 1 440 # define LZO_OS_CONSOLE_PS2 1 441 # define LZO_INFO_OS "console" 442 # define LZO_INFO_OS_CONSOLE "ps2" 443 #elif defined(__mips__) && defined(__psp__) 444 # define LZO_OS_CONSOLE 1 445 # define LZO_OS_CONSOLE_PSP 1 446 # define LZO_INFO_OS "console" 447 # define LZO_INFO_OS_CONSOLE "psp" 448 #else 449 # define LZO_OS_POSIX 1 450 # define LZO_INFO_OS "posix" 451 #endif 452 #if (LZO_OS_POSIX) 453 # if defined(_AIX) || defined(__AIX__) || defined(__aix__) 454 # define LZO_OS_POSIX_AIX 1 455 # define LZO_INFO_OS_POSIX "aix" 456 # elif defined(__FreeBSD__) 457 # define LZO_OS_POSIX_FREEBSD 1 458 # define LZO_INFO_OS_POSIX "freebsd" 459 # elif defined(__hpux__) || defined(__hpux) 460 # define LZO_OS_POSIX_HPUX 1 461 # define LZO_INFO_OS_POSIX "hpux" 462 # elif defined(__INTERIX) 463 # define LZO_OS_POSIX_INTERIX 1 464 # define LZO_INFO_OS_POSIX "interix" 465 # elif defined(__IRIX__) || defined(__irix__) 466 # define LZO_OS_POSIX_IRIX 1 467 # define LZO_INFO_OS_POSIX "irix" 468 # elif defined(__linux__) || defined(__linux) || defined(__LINUX__) 469 # define LZO_OS_POSIX_LINUX 1 470 # define LZO_INFO_OS_POSIX "linux" 471 # elif defined(__APPLE__) && defined(__MACH__) 472 # if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000) 473 # define LZO_OS_POSIX_DARWIN 1040 474 # define LZO_INFO_OS_POSIX "darwin_iphone" 475 # elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040) 476 # define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 477 # define LZO_INFO_OS_POSIX "darwin" 478 # else 479 # define LZO_OS_POSIX_DARWIN 1 480 # define LZO_INFO_OS_POSIX "darwin" 481 # endif 482 # define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN 483 # elif defined(__minix__) || defined(__minix) 484 # define LZO_OS_POSIX_MINIX 1 485 # define LZO_INFO_OS_POSIX "minix" 486 # elif defined(__NetBSD__) 487 # define LZO_OS_POSIX_NETBSD 1 488 # define LZO_INFO_OS_POSIX "netbsd" 489 # elif defined(__OpenBSD__) 490 # define LZO_OS_POSIX_OPENBSD 1 491 # define LZO_INFO_OS_POSIX "openbsd" 492 # elif defined(__osf__) 493 # define LZO_OS_POSIX_OSF 1 494 # define LZO_INFO_OS_POSIX "osf" 495 # elif defined(__solaris__) || defined(__sun) 496 # if defined(__SVR4) || defined(__svr4__) 497 # define LZO_OS_POSIX_SOLARIS 1 498 # define LZO_INFO_OS_POSIX "solaris" 499 # else 500 # define LZO_OS_POSIX_SUNOS 1 501 # define LZO_INFO_OS_POSIX "sunos" 502 # endif 503 # elif defined(__ultrix__) || defined(__ultrix) 504 # define LZO_OS_POSIX_ULTRIX 1 505 # define LZO_INFO_OS_POSIX "ultrix" 506 # elif defined(_UNICOS) 507 # define LZO_OS_POSIX_UNICOS 1 508 # define LZO_INFO_OS_POSIX "unicos" 509 # else 510 # define LZO_OS_POSIX_UNKNOWN 1 511 # define LZO_INFO_OS_POSIX "unknown" 512 # endif 513 #endif 514 #endif 515 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 516 # if (UINT_MAX != LZO_0xffffL) 517 # error "unexpected configuration - check your compiler defines" 518 # endif 519 # if (ULONG_MAX != LZO_0xffffffffL) 520 # error "unexpected configuration - check your compiler defines" 521 # endif 522 #endif 523 #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) 524 # if (UINT_MAX != LZO_0xffffffffL) 525 # error "unexpected configuration - check your compiler defines" 526 # endif 527 # if (ULONG_MAX != LZO_0xffffffffL) 528 # error "unexpected configuration - check your compiler defines" 529 # endif 530 #endif 531 #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) 532 # define LZO_CC_CILLY 1 533 # define LZO_INFO_CC "Cilly" 534 # if defined(__CILLY__) 535 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) 536 # else 537 # define LZO_INFO_CCVER "unknown" 538 # endif 539 #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) 540 # define LZO_CC_SDCC 1 541 # define LZO_INFO_CC "sdcc" 542 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) 543 #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) 544 # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0)) 545 # define LZO_INFO_CC "Pathscale C" 546 # define LZO_INFO_CCVER __PATHSCALE__ 547 # if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 548 # define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 549 # endif 550 #elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0) 551 # define LZO_CC_INTELC __INTEL_COMPILER 552 # define LZO_INFO_CC "Intel C" 553 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) 554 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 555 # define LZO_CC_INTELC_MSC _MSC_VER 556 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 557 # define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 558 # endif 559 #elif defined(__POCC__) && defined(_WIN32) 560 # define LZO_CC_PELLESC 1 561 # define LZO_INFO_CC "Pelles C" 562 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) 563 #elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 564 # if defined(__GNUC_PATCHLEVEL__) 565 # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 566 # else 567 # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 568 # endif 569 # define LZO_CC_ARMCC __ARMCC_VERSION 570 # define LZO_INFO_CC "ARM C Compiler" 571 # define LZO_INFO_CCVER __VERSION__ 572 #elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER) 573 # define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) 574 # define LZO_CC_CLANG_C2 _MSC_VER 575 # define LZO_CC_CLANG_VENDOR_MICROSOFT 1 576 # define LZO_INFO_CC "clang/c2" 577 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__) 578 #elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__) 579 # if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) 580 # define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) 581 # else 582 # define LZO_CC_CLANG 0x010000L 583 # endif 584 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 585 # define LZO_CC_CLANG_MSC _MSC_VER 586 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 587 # define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 588 # endif 589 # if defined(__APPLE_CC__) 590 # define LZO_CC_CLANG_VENDOR_APPLE 1 591 # define LZO_INFO_CC "clang/apple" 592 # else 593 # define LZO_CC_CLANG_VENDOR_LLVM 1 594 # define LZO_INFO_CC "clang" 595 # endif 596 # if defined(__clang_version__) 597 # define LZO_INFO_CCVER __clang_version__ 598 # else 599 # define LZO_INFO_CCVER __VERSION__ 600 # endif 601 #elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 602 # if defined(__GNUC_PATCHLEVEL__) 603 # define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 604 # else 605 # define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 606 # endif 607 # define LZO_CC_LLVM LZO_CC_LLVM_GNUC 608 # define LZO_INFO_CC "llvm-gcc" 609 # define LZO_INFO_CCVER __VERSION__ 610 #elif defined(__ACK__) && defined(_ACK) 611 # define LZO_CC_ACK 1 612 # define LZO_INFO_CC "Amsterdam Compiler Kit C" 613 # define LZO_INFO_CCVER "unknown" 614 #elif defined(__ARMCC_VERSION) && !defined(__GNUC__) 615 # define LZO_CC_ARMCC __ARMCC_VERSION 616 # define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION 617 # define LZO_INFO_CC "ARM C Compiler" 618 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION) 619 #elif defined(__AZTEC_C__) 620 # define LZO_CC_AZTECC 1 621 # define LZO_INFO_CC "Aztec C" 622 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) 623 #elif defined(__CODEGEARC__) 624 # define LZO_CC_CODEGEARC 1 625 # define LZO_INFO_CC "CodeGear C" 626 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) 627 #elif defined(__BORLANDC__) 628 # define LZO_CC_BORLANDC 1 629 # define LZO_INFO_CC "Borland C" 630 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) 631 #elif defined(_CRAYC) && defined(_RELEASE) 632 # define LZO_CC_CRAYC 1 633 # define LZO_INFO_CC "Cray C" 634 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) 635 #elif defined(__DMC__) && defined(__SC__) 636 # define LZO_CC_DMC 1 637 # define LZO_INFO_CC "Digital Mars C" 638 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) 639 #elif defined(__DECC) 640 # define LZO_CC_DECC 1 641 # define LZO_INFO_CC "DEC C" 642 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) 643 #elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0) 644 # define LZO_CC_GHS 1 645 # define LZO_INFO_CC "Green Hills C" 646 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER) 647 # if defined(_MSC_VER) && ((_MSC_VER-0) > 0) 648 # define LZO_CC_GHS_MSC _MSC_VER 649 # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) 650 # define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 651 # endif 652 #elif defined(__HIGHC__) 653 # define LZO_CC_HIGHC 1 654 # define LZO_INFO_CC "MetaWare High C" 655 # define LZO_INFO_CCVER "unknown" 656 #elif defined(__HP_aCC) && ((__HP_aCC-0) > 0) 657 # define LZO_CC_HPACC __HP_aCC 658 # define LZO_INFO_CC "HP aCC" 659 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC) 660 #elif defined(__IAR_SYSTEMS_ICC__) 661 # define LZO_CC_IARC 1 662 # define LZO_INFO_CC "IAR C" 663 # if defined(__VER__) 664 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) 665 # else 666 # define LZO_INFO_CCVER "unknown" 667 # endif 668 #elif defined(__IBMC__) && ((__IBMC__-0) > 0) 669 # define LZO_CC_IBMC __IBMC__ 670 # define LZO_INFO_CC "IBM C" 671 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) 672 #elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0) 673 # define LZO_CC_IBMC __IBMCPP__ 674 # define LZO_INFO_CC "IBM C" 675 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__) 676 #elif defined(__KEIL__) && defined(__C166__) 677 # define LZO_CC_KEILC 1 678 # define LZO_INFO_CC "Keil C" 679 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) 680 #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) 681 # define LZO_CC_LCCWIN32 1 682 # define LZO_INFO_CC "lcc-win32" 683 # define LZO_INFO_CCVER "unknown" 684 #elif defined(__LCC__) 685 # define LZO_CC_LCC 1 686 # define LZO_INFO_CC "lcc" 687 # if defined(__LCC_VERSION__) 688 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) 689 # else 690 # define LZO_INFO_CCVER "unknown" 691 # endif 692 #elif defined(__MWERKS__) && ((__MWERKS__-0) > 0) 693 # define LZO_CC_MWERKS __MWERKS__ 694 # define LZO_INFO_CC "Metrowerks C" 695 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) 696 #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) 697 # define LZO_CC_NDPC 1 698 # define LZO_INFO_CC "Microway NDP C" 699 # define LZO_INFO_CCVER "unknown" 700 #elif defined(__PACIFIC__) 701 # define LZO_CC_PACIFICC 1 702 # define LZO_INFO_CC "Pacific C" 703 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) 704 #elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) 705 # if defined(__PGIC_PATCHLEVEL__) 706 # define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0)) 707 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__) 708 # else 709 # define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100) 710 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0" 711 # endif 712 # define LZO_INFO_CC "Portland Group PGI C" 713 #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) 714 # define LZO_CC_PGI 1 715 # define LZO_INFO_CC "Portland Group PGI C" 716 # define LZO_INFO_CCVER "unknown" 717 #elif defined(__PUREC__) && defined(__TOS__) 718 # define LZO_CC_PUREC 1 719 # define LZO_INFO_CC "Pure C" 720 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) 721 #elif defined(__SC__) && defined(__ZTC__) 722 # define LZO_CC_SYMANTECC 1 723 # define LZO_INFO_CC "Symantec C" 724 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) 725 #elif defined(__SUNPRO_C) 726 # define LZO_INFO_CC "SunPro C" 727 # if ((__SUNPRO_C-0) > 0) 728 # define LZO_CC_SUNPROC __SUNPRO_C 729 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) 730 # else 731 # define LZO_CC_SUNPROC 1 732 # define LZO_INFO_CCVER "unknown" 733 # endif 734 #elif defined(__SUNPRO_CC) 735 # define LZO_INFO_CC "SunPro C" 736 # if ((__SUNPRO_CC-0) > 0) 737 # define LZO_CC_SUNPROC __SUNPRO_CC 738 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) 739 # else 740 # define LZO_CC_SUNPROC 1 741 # define LZO_INFO_CCVER "unknown" 742 # endif 743 #elif defined(__TINYC__) 744 # define LZO_CC_TINYC 1 745 # define LZO_INFO_CC "Tiny C" 746 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) 747 #elif defined(__TSC__) 748 # define LZO_CC_TOPSPEEDC 1 749 # define LZO_INFO_CC "TopSpeed C" 750 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) 751 #elif defined(__WATCOMC__) 752 # define LZO_CC_WATCOMC 1 753 # define LZO_INFO_CC "Watcom C" 754 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) 755 #elif defined(__TURBOC__) 756 # define LZO_CC_TURBOC 1 757 # define LZO_INFO_CC "Turbo C" 758 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) 759 #elif defined(__ZTC__) 760 # define LZO_CC_ZORTECHC 1 761 # define LZO_INFO_CC "Zortech C" 762 # if ((__ZTC__-0) == 0x310) 763 # define LZO_INFO_CCVER "0x310" 764 # else 765 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) 766 # endif 767 #elif defined(__GNUC__) && defined(__VERSION__) 768 # if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) 769 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) 770 # elif defined(__GNUC_MINOR__) 771 # define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) 772 # else 773 # define LZO_CC_GNUC (__GNUC__ * 0x10000L) 774 # endif 775 # define LZO_INFO_CC "gcc" 776 # define LZO_INFO_CCVER __VERSION__ 777 #elif defined(_MSC_VER) && ((_MSC_VER-0) > 0) 778 # define LZO_CC_MSC _MSC_VER 779 # define LZO_INFO_CC "Microsoft C" 780 # if defined(_MSC_FULL_VER) 781 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) 782 # else 783 # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) 784 # endif 785 #else 786 # define LZO_CC_UNKNOWN 1 787 # define LZO_INFO_CC "unknown" 788 # define LZO_INFO_CCVER "unknown" 789 #endif 790 #if (LZO_CC_GNUC) && defined(__OPEN64__) 791 # if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__) 792 # define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0)) 793 # define LZO_CC_OPEN64_GNUC LZO_CC_GNUC 794 # endif 795 #endif 796 #if (LZO_CC_GNUC) && defined(__PCC__) 797 # if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__) 798 # define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0)) 799 # define LZO_CC_PCC_GNUC LZO_CC_GNUC 800 # endif 801 #endif 802 #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) 803 # error "LZO_CC_MSC: _MSC_FULL_VER is not defined" 804 #endif 805 #if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) 806 # if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) 807 # if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) 808 # define LZO_ARCH_CRAY_MPP 1 809 # elif defined(_CRAY1) 810 # define LZO_ARCH_CRAY_PVP 1 811 # endif 812 # endif 813 #endif 814 #if !defined(__LZO_ARCH_OVERRIDE) 815 #if (LZO_ARCH_GENERIC) 816 # define LZO_INFO_ARCH "generic" 817 #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 818 # define LZO_ARCH_I086 1 819 # define LZO_INFO_ARCH "i086" 820 #elif defined(__aarch64__) || defined(_M_ARM64) 821 # define LZO_ARCH_ARM64 1 822 # define LZO_INFO_ARCH "arm64" 823 #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) 824 # define LZO_ARCH_ALPHA 1 825 # define LZO_INFO_ARCH "alpha" 826 #elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) 827 # define LZO_ARCH_ALPHA 1 828 # define LZO_INFO_ARCH "alpha" 829 #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) 830 # define LZO_ARCH_AMD64 1 831 # define LZO_INFO_ARCH "amd64" 832 #elif defined(__arm__) || defined(_M_ARM) 833 # define LZO_ARCH_ARM 1 834 # define LZO_INFO_ARCH "arm" 835 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) 836 # define LZO_ARCH_ARM 1 837 # define LZO_INFO_ARCH "arm" 838 #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) 839 # define LZO_ARCH_AVR 1 840 # define LZO_INFO_ARCH "avr" 841 #elif defined(__avr32__) || defined(__AVR32__) 842 # define LZO_ARCH_AVR32 1 843 # define LZO_INFO_ARCH "avr32" 844 #elif defined(__bfin__) 845 # define LZO_ARCH_BLACKFIN 1 846 # define LZO_INFO_ARCH "blackfin" 847 #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) 848 # define LZO_ARCH_C166 1 849 # define LZO_INFO_ARCH "c166" 850 #elif defined(__cris__) 851 # define LZO_ARCH_CRIS 1 852 # define LZO_INFO_ARCH "cris" 853 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) 854 # define LZO_ARCH_EZ80 1 855 # define LZO_INFO_ARCH "ez80" 856 #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 857 # define LZO_ARCH_H8300 1 858 # define LZO_INFO_ARCH "h8300" 859 #elif defined(__hppa__) || defined(__hppa) 860 # define LZO_ARCH_HPPA 1 861 # define LZO_INFO_ARCH "hppa" 862 #elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) 863 # define LZO_ARCH_I386 1 864 # define LZO_ARCH_IA32 1 865 # define LZO_INFO_ARCH "i386" 866 #elif (LZO_CC_ZORTECHC && defined(__I86__)) 867 # define LZO_ARCH_I386 1 868 # define LZO_ARCH_IA32 1 869 # define LZO_INFO_ARCH "i386" 870 #elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) 871 # define LZO_ARCH_I386 1 872 # define LZO_ARCH_IA32 1 873 # define LZO_INFO_ARCH "i386" 874 #elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) 875 # define LZO_ARCH_IA64 1 876 # define LZO_INFO_ARCH "ia64" 877 #elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) 878 # define LZO_ARCH_M16C 1 879 # define LZO_INFO_ARCH "m16c" 880 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) 881 # define LZO_ARCH_M16C 1 882 # define LZO_INFO_ARCH "m16c" 883 #elif defined(__m32r__) 884 # define LZO_ARCH_M32R 1 885 # define LZO_INFO_ARCH "m32r" 886 #elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) 887 # define LZO_ARCH_M68K 1 888 # define LZO_INFO_ARCH "m68k" 889 #elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) 890 # define LZO_ARCH_MCS251 1 891 # define LZO_INFO_ARCH "mcs251" 892 #elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) 893 # define LZO_ARCH_MCS51 1 894 # define LZO_INFO_ARCH "mcs51" 895 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) 896 # define LZO_ARCH_MCS51 1 897 # define LZO_INFO_ARCH "mcs51" 898 #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) 899 # define LZO_ARCH_MIPS 1 900 # define LZO_INFO_ARCH "mips" 901 #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) 902 # define LZO_ARCH_MSP430 1 903 # define LZO_INFO_ARCH "msp430" 904 #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) 905 # define LZO_ARCH_MSP430 1 906 # define LZO_INFO_ARCH "msp430" 907 #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) 908 # define LZO_ARCH_POWERPC 1 909 # define LZO_INFO_ARCH "powerpc" 910 #elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__) 911 # define LZO_ARCH_POWERPC 1 912 # define LZO_INFO_ARCH "powerpc" 913 #elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__) 914 # define LZO_ARCH_POWERPC 1 915 # define LZO_INFO_ARCH "powerpc" 916 #elif defined(__riscv) 917 # define LZO_ARCH_RISCV 1 918 # define LZO_INFO_ARCH "riscv" 919 #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) 920 # define LZO_ARCH_S390 1 921 # define LZO_INFO_ARCH "s390" 922 #elif defined(__sh__) || defined(_M_SH) 923 # define LZO_ARCH_SH 1 924 # define LZO_INFO_ARCH "sh" 925 #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) 926 # define LZO_ARCH_SPARC 1 927 # define LZO_INFO_ARCH "sparc" 928 #elif defined(__SPU__) 929 # define LZO_ARCH_SPU 1 930 # define LZO_INFO_ARCH "spu" 931 #elif (UINT_MAX == LZO_0xffffL) && defined(__z80) 932 # define LZO_ARCH_Z80 1 933 # define LZO_INFO_ARCH "z80" 934 #elif (LZO_ARCH_CRAY_PVP) 935 # if defined(_CRAYSV1) 936 # define LZO_ARCH_CRAY_SV1 1 937 # define LZO_INFO_ARCH "cray_sv1" 938 # elif (_ADDR64) 939 # define LZO_ARCH_CRAY_T90 1 940 # define LZO_INFO_ARCH "cray_t90" 941 # elif (_ADDR32) 942 # define LZO_ARCH_CRAY_YMP 1 943 # define LZO_INFO_ARCH "cray_ymp" 944 # else 945 # define LZO_ARCH_CRAY_XMP 1 946 # define LZO_INFO_ARCH "cray_xmp" 947 # endif 948 #else 949 # define LZO_ARCH_UNKNOWN 1 950 # define LZO_INFO_ARCH "unknown" 951 #endif 952 #endif 953 #if !defined(LZO_ARCH_ARM_THUMB2) 954 #if (LZO_ARCH_ARM) 955 # if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB) 956 # if defined(__thumb2__) 957 # define LZO_ARCH_ARM_THUMB2 1 958 # elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4) 959 # define LZO_ARCH_ARM_THUMB2 1 960 # elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7) 961 # define LZO_ARCH_ARM_THUMB2 1 962 # endif 963 # endif 964 #endif 965 #endif 966 #if (LZO_ARCH_ARM_THUMB2) 967 # undef LZO_INFO_ARCH 968 # define LZO_INFO_ARCH "arm_thumb2" 969 #endif 970 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) 971 # error "FIXME - missing define for CPU architecture" 972 #endif 973 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) 974 # error "FIXME - missing LZO_OS_WIN32 define for CPU architecture" 975 #endif 976 #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) 977 # error "FIXME - missing LZO_OS_WIN64 define for CPU architecture" 978 #endif 979 #if (LZO_OS_OS216 || LZO_OS_WIN16) 980 # define LZO_ARCH_I086PM 1 981 #elif 1 && (LZO_OS_DOS16 && defined(BLX286)) 982 # define LZO_ARCH_I086PM 1 983 #elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) 984 # define LZO_ARCH_I086PM 1 985 #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) 986 # define LZO_ARCH_I086PM 1 987 #endif 988 #if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) 989 # define LZO_ARCH_X64 1 990 #elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE) 991 # define LZO_ARCH_AMD64 1 992 #endif 993 #if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) 994 # define LZO_ARCH_AARCH64 1 995 #elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE) 996 # define LZO_ARCH_ARM64 1 997 #endif 998 #if (LZO_ARCH_I386 && !LZO_ARCH_X86) 999 # define LZO_ARCH_X86 1 1000 #elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE) 1001 # define LZO_ARCH_I386 1 1002 #endif 1003 #if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64) 1004 # error "unexpected configuration - check your compiler defines" 1005 #endif 1006 #if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) 1007 # error "unexpected configuration - check your compiler defines" 1008 #endif 1009 #if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86) 1010 # error "unexpected configuration - check your compiler defines" 1011 #endif 1012 #if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM) 1013 # error "unexpected configuration - check your compiler defines" 1014 #endif 1015 #if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM) 1016 # error "unexpected configuration - check your compiler defines" 1017 #endif 1018 #if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2) 1019 # error "unexpected configuration - check your compiler defines" 1020 #endif 1021 #if (LZO_ARCH_I086PM && !LZO_ARCH_I086) 1022 # error "unexpected configuration - check your compiler defines" 1023 #endif 1024 #if (LZO_ARCH_I086) 1025 # if (UINT_MAX != LZO_0xffffL) 1026 # error "unexpected configuration - check your compiler defines" 1027 # endif 1028 # if (ULONG_MAX != LZO_0xffffffffL) 1029 # error "unexpected configuration - check your compiler defines" 1030 # endif 1031 #endif 1032 #if (LZO_ARCH_I386) 1033 # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) 1034 # error "unexpected configuration - check your compiler defines" 1035 # endif 1036 # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) 1037 # error "unexpected configuration - check your compiler defines" 1038 # endif 1039 # if (ULONG_MAX != LZO_0xffffffffL) 1040 # error "unexpected configuration - check your compiler defines" 1041 # endif 1042 #endif 1043 #if (LZO_ARCH_AMD64 || LZO_ARCH_I386) 1044 # if !defined(LZO_TARGET_FEATURE_SSE2) 1045 # if defined(__SSE2__) 1046 # define LZO_TARGET_FEATURE_SSE2 1 1047 # elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2)) 1048 # define LZO_TARGET_FEATURE_SSE2 1 1049 # elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64) 1050 # define LZO_TARGET_FEATURE_SSE2 1 1051 # endif 1052 # endif 1053 # if !defined(LZO_TARGET_FEATURE_SSSE3) 1054 # if (LZO_TARGET_FEATURE_SSE2) 1055 # if defined(__SSSE3__) 1056 # define LZO_TARGET_FEATURE_SSSE3 1 1057 # elif defined(_MSC_VER) && defined(__AVX__) 1058 # define LZO_TARGET_FEATURE_SSSE3 1 1059 # endif 1060 # endif 1061 # endif 1062 # if !defined(LZO_TARGET_FEATURE_SSE4_2) 1063 # if (LZO_TARGET_FEATURE_SSSE3) 1064 # if defined(__SSE4_2__) 1065 # define LZO_TARGET_FEATURE_SSE4_2 1 1066 # endif 1067 # endif 1068 # endif 1069 # if !defined(LZO_TARGET_FEATURE_AVX) 1070 # if (LZO_TARGET_FEATURE_SSSE3) 1071 # if defined(__AVX__) 1072 # define LZO_TARGET_FEATURE_AVX 1 1073 # endif 1074 # endif 1075 # endif 1076 # if !defined(LZO_TARGET_FEATURE_AVX2) 1077 # if (LZO_TARGET_FEATURE_AVX) 1078 # if defined(__AVX2__) 1079 # define LZO_TARGET_FEATURE_AVX2 1 1080 # endif 1081 # endif 1082 # endif 1083 #endif 1084 #if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2)) 1085 # error "unexpected configuration - check your compiler defines" 1086 #endif 1087 #if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3)) 1088 # error "unexpected configuration - check your compiler defines" 1089 #endif 1090 #if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3)) 1091 # error "unexpected configuration - check your compiler defines" 1092 #endif 1093 #if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX)) 1094 # error "unexpected configuration - check your compiler defines" 1095 #endif 1096 #if (LZO_ARCH_ARM) 1097 # if !defined(LZO_TARGET_FEATURE_NEON) 1098 # if defined(__ARM_NEON) && ((__ARM_NEON)+0) 1099 # define LZO_TARGET_FEATURE_NEON 1 1100 # elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0) 1101 # define LZO_TARGET_FEATURE_NEON 1 1102 # elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0) 1103 # define LZO_TARGET_FEATURE_NEON 1 1104 # endif 1105 # endif 1106 #elif (LZO_ARCH_ARM64) 1107 # if !defined(LZO_TARGET_FEATURE_NEON) 1108 # if 1 1109 # define LZO_TARGET_FEATURE_NEON 1 1110 # endif 1111 # endif 1112 #endif 1113 #if 0 1114 #elif !defined(__LZO_MM_OVERRIDE) 1115 #if (LZO_ARCH_I086) 1116 #if (UINT_MAX != LZO_0xffffL) 1117 # error "unexpected configuration - check your compiler defines" 1118 #endif 1119 #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) 1120 # define LZO_MM_TINY 1 1121 #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) 1122 # define LZO_MM_HUGE 1 1123 #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) 1124 # define LZO_MM_SMALL 1 1125 #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) 1126 # define LZO_MM_MEDIUM 1 1127 #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) 1128 # define LZO_MM_COMPACT 1 1129 #elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) 1130 # define LZO_MM_LARGE 1 1131 #elif (LZO_CC_AZTECC) 1132 # if defined(_LARGE_CODE) && defined(_LARGE_DATA) 1133 # define LZO_MM_LARGE 1 1134 # elif defined(_LARGE_CODE) 1135 # define LZO_MM_MEDIUM 1 1136 # elif defined(_LARGE_DATA) 1137 # define LZO_MM_COMPACT 1 1138 # else 1139 # define LZO_MM_SMALL 1 1140 # endif 1141 #elif (LZO_CC_ZORTECHC && defined(__VCM__)) 1142 # define LZO_MM_LARGE 1 1143 #else 1144 # error "unknown LZO_ARCH_I086 memory model" 1145 #endif 1146 #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) 1147 #define LZO_HAVE_MM_HUGE_PTR 1 1148 #define LZO_HAVE_MM_HUGE_ARRAY 1 1149 #if (LZO_MM_TINY) 1150 # undef LZO_HAVE_MM_HUGE_ARRAY 1151 #endif 1152 #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) 1153 # undef LZO_HAVE_MM_HUGE_PTR 1154 # undef LZO_HAVE_MM_HUGE_ARRAY 1155 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1156 # undef LZO_HAVE_MM_HUGE_ARRAY 1157 #elif (LZO_CC_MSC && defined(_QC)) 1158 # undef LZO_HAVE_MM_HUGE_ARRAY 1159 # if (_MSC_VER < 600) 1160 # undef LZO_HAVE_MM_HUGE_PTR 1161 # endif 1162 #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) 1163 # undef LZO_HAVE_MM_HUGE_ARRAY 1164 #endif 1165 #if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) 1166 # if (LZO_OS_DOS16) 1167 # error "unexpected configuration - check your compiler defines" 1168 # elif (LZO_CC_ZORTECHC) 1169 # else 1170 # error "unexpected configuration - check your compiler defines" 1171 # endif 1172 #endif 1173 #if defined(__cplusplus) 1174 extern "C" { 1175 #endif 1176 #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) 1177 extern void __near __cdecl _AHSHIFT(void); 1178 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1179 #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1180 extern void __near __cdecl _AHSHIFT(void); 1181 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1182 #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) 1183 extern void __near __cdecl _AHSHIFT(void); 1184 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1185 #elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) 1186 extern void __near __cdecl _AHSHIFT(void); 1187 # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) 1188 #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) 1189 # define LZO_MM_AHSHIFT 12 1190 #elif (LZO_CC_WATCOMC) 1191 extern unsigned char _HShift; 1192 # define LZO_MM_AHSHIFT ((unsigned) _HShift) 1193 #else 1194 # error "FIXME - implement LZO_MM_AHSHIFT" 1195 #endif 1196 #if defined(__cplusplus) 1197 } 1198 #endif 1199 #endif 1200 #elif (LZO_ARCH_C166) 1201 #if !defined(__MODEL__) 1202 # error "FIXME - LZO_ARCH_C166 __MODEL__" 1203 #elif ((__MODEL__) == 0) 1204 # define LZO_MM_SMALL 1 1205 #elif ((__MODEL__) == 1) 1206 # define LZO_MM_SMALL 1 1207 #elif ((__MODEL__) == 2) 1208 # define LZO_MM_LARGE 1 1209 #elif ((__MODEL__) == 3) 1210 # define LZO_MM_TINY 1 1211 #elif ((__MODEL__) == 4) 1212 # define LZO_MM_XTINY 1 1213 #elif ((__MODEL__) == 5) 1214 # define LZO_MM_XSMALL 1 1215 #else 1216 # error "FIXME - LZO_ARCH_C166 __MODEL__" 1217 #endif 1218 #elif (LZO_ARCH_MCS251) 1219 #if !defined(__MODEL__) 1220 # error "FIXME - LZO_ARCH_MCS251 __MODEL__" 1221 #elif ((__MODEL__) == 0) 1222 # define LZO_MM_SMALL 1 1223 #elif ((__MODEL__) == 2) 1224 # define LZO_MM_LARGE 1 1225 #elif ((__MODEL__) == 3) 1226 # define LZO_MM_TINY 1 1227 #elif ((__MODEL__) == 4) 1228 # define LZO_MM_XTINY 1 1229 #elif ((__MODEL__) == 5) 1230 # define LZO_MM_XSMALL 1 1231 #else 1232 # error "FIXME - LZO_ARCH_MCS251 __MODEL__" 1233 #endif 1234 #elif (LZO_ARCH_MCS51) 1235 #if !defined(__MODEL__) 1236 # error "FIXME - LZO_ARCH_MCS51 __MODEL__" 1237 #elif ((__MODEL__) == 1) 1238 # define LZO_MM_SMALL 1 1239 #elif ((__MODEL__) == 2) 1240 # define LZO_MM_LARGE 1 1241 #elif ((__MODEL__) == 3) 1242 # define LZO_MM_TINY 1 1243 #elif ((__MODEL__) == 4) 1244 # define LZO_MM_XTINY 1 1245 #elif ((__MODEL__) == 5) 1246 # define LZO_MM_XSMALL 1 1247 #else 1248 # error "FIXME - LZO_ARCH_MCS51 __MODEL__" 1249 #endif 1250 #elif (LZO_ARCH_CRAY_PVP) 1251 # define LZO_MM_PVP 1 1252 #else 1253 # define LZO_MM_FLAT 1 1254 #endif 1255 #if (LZO_MM_COMPACT) 1256 # define LZO_INFO_MM "compact" 1257 #elif (LZO_MM_FLAT) 1258 # define LZO_INFO_MM "flat" 1259 #elif (LZO_MM_HUGE) 1260 # define LZO_INFO_MM "huge" 1261 #elif (LZO_MM_LARGE) 1262 # define LZO_INFO_MM "large" 1263 #elif (LZO_MM_MEDIUM) 1264 # define LZO_INFO_MM "medium" 1265 #elif (LZO_MM_PVP) 1266 # define LZO_INFO_MM "pvp" 1267 #elif (LZO_MM_SMALL) 1268 # define LZO_INFO_MM "small" 1269 #elif (LZO_MM_TINY) 1270 # define LZO_INFO_MM "tiny" 1271 #else 1272 # error "unknown memory model" 1273 #endif 1274 #endif 1275 #if !defined(__lzo_gnuc_extension__) 1276 #if (LZO_CC_GNUC >= 0x020800ul) 1277 # define __lzo_gnuc_extension__ __extension__ 1278 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1279 # define __lzo_gnuc_extension__ __extension__ 1280 #elif (LZO_CC_IBMC >= 600) 1281 # define __lzo_gnuc_extension__ __extension__ 1282 #endif 1283 #endif 1284 #if !defined(__lzo_gnuc_extension__) 1285 # define __lzo_gnuc_extension__ /*empty*/ 1286 #endif 1287 #if !defined(lzo_has_builtin) 1288 #if (LZO_CC_CLANG) && defined(__has_builtin) 1289 # define lzo_has_builtin __has_builtin 1290 #endif 1291 #endif 1292 #if !defined(lzo_has_builtin) 1293 # define lzo_has_builtin(x) 0 1294 #endif 1295 #if !defined(lzo_has_attribute) 1296 #if (LZO_CC_CLANG) && defined(__has_attribute) 1297 # define lzo_has_attribute __has_attribute 1298 #endif 1299 #endif 1300 #if !defined(lzo_has_attribute) 1301 # define lzo_has_attribute(x) 0 1302 #endif 1303 #if !defined(lzo_has_declspec_attribute) 1304 #if (LZO_CC_CLANG) && defined(__has_declspec_attribute) 1305 # define lzo_has_declspec_attribute __has_declspec_attribute 1306 #endif 1307 #endif 1308 #if !defined(lzo_has_declspec_attribute) 1309 # define lzo_has_declspec_attribute(x) 0 1310 #endif 1311 #if !defined(lzo_has_feature) 1312 #if (LZO_CC_CLANG) && defined(__has_feature) 1313 # define lzo_has_feature __has_feature 1314 #endif 1315 #endif 1316 #if !defined(lzo_has_feature) 1317 # define lzo_has_feature(x) 0 1318 #endif 1319 #if !defined(lzo_has_extension) 1320 #if (LZO_CC_CLANG) && defined(__has_extension) 1321 # define lzo_has_extension __has_extension 1322 #elif (LZO_CC_CLANG) && defined(__has_feature) 1323 # define lzo_has_extension __has_feature 1324 #endif 1325 #endif 1326 #if !defined(lzo_has_extension) 1327 # define lzo_has_extension(x) 0 1328 #endif 1329 #if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0 1330 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) 1331 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1332 # elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200)) 1333 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1334 # else 1335 # define LZO_CFG_USE_NEW_STYLE_CASTS 1 1336 # endif 1337 #endif 1338 #if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) 1339 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1340 #endif 1341 #if !defined(__cplusplus) 1342 # if defined(LZO_CFG_USE_NEW_STYLE_CASTS) 1343 # undef LZO_CFG_USE_NEW_STYLE_CASTS 1344 # endif 1345 # define LZO_CFG_USE_NEW_STYLE_CASTS 0 1346 #endif 1347 #if !defined(LZO_REINTERPRET_CAST) 1348 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1349 # define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast<t> (e)) 1350 # endif 1351 #endif 1352 #if !defined(LZO_REINTERPRET_CAST) 1353 # define LZO_REINTERPRET_CAST(t,e) ((t) (e)) 1354 #endif 1355 #if !defined(LZO_STATIC_CAST) 1356 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1357 # define LZO_STATIC_CAST(t,e) (static_cast<t> (e)) 1358 # endif 1359 #endif 1360 #if !defined(LZO_STATIC_CAST) 1361 # define LZO_STATIC_CAST(t,e) ((t) (e)) 1362 #endif 1363 #if !defined(LZO_STATIC_CAST2) 1364 # define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e)) 1365 #endif 1366 #if !defined(LZO_UNCONST_CAST) 1367 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1368 # define LZO_UNCONST_CAST(t,e) (const_cast<t> (e)) 1369 # elif (LZO_HAVE_MM_HUGE_PTR) 1370 # define LZO_UNCONST_CAST(t,e) ((t) (e)) 1371 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1372 # define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e))))) 1373 # endif 1374 #endif 1375 #if !defined(LZO_UNCONST_CAST) 1376 # define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))) 1377 #endif 1378 #if !defined(LZO_UNCONST_VOLATILE_CAST) 1379 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1380 # define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast<t> (e)) 1381 # elif (LZO_HAVE_MM_HUGE_PTR) 1382 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e)) 1383 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1384 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) 1385 # endif 1386 #endif 1387 #if !defined(LZO_UNCONST_VOLATILE_CAST) 1388 # define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e)))) 1389 #endif 1390 #if !defined(LZO_UNVOLATILE_CAST) 1391 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1392 # define LZO_UNVOLATILE_CAST(t,e) (const_cast<t> (e)) 1393 # elif (LZO_HAVE_MM_HUGE_PTR) 1394 # define LZO_UNVOLATILE_CAST(t,e) ((t) (e)) 1395 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1396 # define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e))))) 1397 # endif 1398 #endif 1399 #if !defined(LZO_UNVOLATILE_CAST) 1400 # define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e)))) 1401 #endif 1402 #if !defined(LZO_UNVOLATILE_CONST_CAST) 1403 # if (LZO_CFG_USE_NEW_STYLE_CASTS) 1404 # define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast<t> (e)) 1405 # elif (LZO_HAVE_MM_HUGE_PTR) 1406 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e)) 1407 # elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1408 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) 1409 # endif 1410 #endif 1411 #if !defined(LZO_UNVOLATILE_CONST_CAST) 1412 # define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e)))) 1413 #endif 1414 #if !defined(LZO_PCAST) 1415 # if (LZO_HAVE_MM_HUGE_PTR) 1416 # define LZO_PCAST(t,e) ((t) (e)) 1417 # endif 1418 #endif 1419 #if !defined(LZO_PCAST) 1420 # define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e)) 1421 #endif 1422 #if !defined(LZO_CCAST) 1423 # if (LZO_HAVE_MM_HUGE_PTR) 1424 # define LZO_CCAST(t,e) ((t) (e)) 1425 # endif 1426 #endif 1427 #if !defined(LZO_CCAST) 1428 # define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e)) 1429 #endif 1430 #if !defined(LZO_ICONV) 1431 # define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e) 1432 #endif 1433 #if !defined(LZO_ICAST) 1434 # define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e) 1435 #endif 1436 #if !defined(LZO_ITRUNC) 1437 # define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e) 1438 #endif 1439 #if !defined(__lzo_cte) 1440 # if (LZO_CC_MSC || LZO_CC_WATCOMC) 1441 # define __lzo_cte(e) ((void)0,(e)) 1442 # elif 1 1443 # define __lzo_cte(e) ((void)0,(e)) 1444 # endif 1445 #endif 1446 #if !defined(__lzo_cte) 1447 # define __lzo_cte(e) (e) 1448 #endif 1449 #if !defined(LZO_BLOCK_BEGIN) 1450 # define LZO_BLOCK_BEGIN do { 1451 # define LZO_BLOCK_END } while __lzo_cte(0) 1452 #endif 1453 #if !defined(LZO_UNUSED) 1454 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1455 # define LZO_UNUSED(var) ((void) &var) 1456 # elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) 1457 # define LZO_UNUSED(var) if (&var) ; else 1458 # elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul)) 1459 # define LZO_UNUSED(var) ((void) &var) 1460 # elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1461 # define LZO_UNUSED(var) ((void) var) 1462 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1463 # define LZO_UNUSED(var) if (&var) ; else 1464 # elif (LZO_CC_KEILC) 1465 # define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0)]; (void)lzo_unused__;} 1466 # elif (LZO_CC_PACIFICC) 1467 # define LZO_UNUSED(var) ((void) sizeof(var)) 1468 # elif (LZO_CC_WATCOMC) && defined(__cplusplus) 1469 # define LZO_UNUSED(var) ((void) var) 1470 # else 1471 # define LZO_UNUSED(var) ((void) &var) 1472 # endif 1473 #endif 1474 #if !defined(LZO_UNUSED_RESULT) 1475 # define LZO_UNUSED_RESULT(var) LZO_UNUSED(var) 1476 #endif 1477 #if !defined(LZO_UNUSED_FUNC) 1478 # if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) 1479 # define LZO_UNUSED_FUNC(func) ((void) func) 1480 # elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) 1481 # define LZO_UNUSED_FUNC(func) if (func) ; else 1482 # elif (LZO_CC_CLANG || LZO_CC_LLVM) 1483 # define LZO_UNUSED_FUNC(func) ((void) &func) 1484 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 1485 # define LZO_UNUSED_FUNC(func) if (func) ; else 1486 # elif (LZO_CC_MSC) 1487 # define LZO_UNUSED_FUNC(func) ((void) &func) 1488 # elif (LZO_CC_KEILC || LZO_CC_PELLESC) 1489 # define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)func)>0)]; (void)lzo_unused__;} 1490 # else 1491 # define LZO_UNUSED_FUNC(func) ((void) func) 1492 # endif 1493 #endif 1494 #if !defined(LZO_UNUSED_LABEL) 1495 # if (LZO_CC_CLANG >= 0x020800ul) 1496 # define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l))) 1497 # elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) 1498 # define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l 1499 # else 1500 # define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l 1501 # endif 1502 #endif 1503 #if !defined(LZO_DEFINE_UNINITIALIZED_VAR) 1504 # if 0 1505 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var 1506 # elif 0 && (LZO_CC_GNUC) 1507 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var 1508 # else 1509 # define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init 1510 # endif 1511 #endif 1512 #if !defined(__lzo_inline) 1513 #if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) 1514 #elif defined(__cplusplus) 1515 # define __lzo_inline inline 1516 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) 1517 # define __lzo_inline inline 1518 #elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) 1519 # define __lzo_inline __inline 1520 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1521 # define __lzo_inline __inline__ 1522 #elif (LZO_CC_DMC) 1523 # define __lzo_inline __inline 1524 #elif (LZO_CC_GHS) 1525 # define __lzo_inline __inline__ 1526 #elif (LZO_CC_IBMC >= 600) 1527 # define __lzo_inline __inline__ 1528 #elif (LZO_CC_INTELC) 1529 # define __lzo_inline __inline 1530 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) 1531 # define __lzo_inline __inline 1532 #elif (LZO_CC_MSC && (_MSC_VER >= 900)) 1533 # define __lzo_inline __inline 1534 #elif (LZO_CC_SUNPROC >= 0x5100) 1535 # define __lzo_inline __inline__ 1536 #endif 1537 #endif 1538 #if defined(__lzo_inline) 1539 # ifndef __lzo_HAVE_inline 1540 # define __lzo_HAVE_inline 1 1541 # endif 1542 #else 1543 # define __lzo_inline /*empty*/ 1544 #endif 1545 #if !defined(__lzo_forceinline) 1546 #if (LZO_CC_GNUC >= 0x030200ul) 1547 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1548 #elif (LZO_CC_IBMC >= 700) 1549 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1550 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) 1551 # define __lzo_forceinline __forceinline 1552 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1553 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1554 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1555 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1556 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1557 # define __lzo_forceinline __forceinline 1558 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1559 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1560 #elif (LZO_CC_SUNPROC >= 0x5100) 1561 # define __lzo_forceinline __inline__ __attribute__((__always_inline__)) 1562 #endif 1563 #endif 1564 #if defined(__lzo_forceinline) 1565 # ifndef __lzo_HAVE_forceinline 1566 # define __lzo_HAVE_forceinline 1 1567 # endif 1568 #else 1569 # define __lzo_forceinline __lzo_inline 1570 #endif 1571 #if !defined(__lzo_noinline) 1572 #if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) 1573 # define __lzo_noinline __attribute__((__noinline__,__used__)) 1574 #elif (LZO_CC_GNUC >= 0x030200ul) 1575 # define __lzo_noinline __attribute__((__noinline__)) 1576 #elif (LZO_CC_IBMC >= 700) 1577 # define __lzo_noinline __attribute__((__noinline__)) 1578 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) 1579 # define __lzo_noinline __declspec(noinline) 1580 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1581 # define __lzo_noinline __attribute__((__noinline__)) 1582 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1583 # define __lzo_noinline __attribute__((__noinline__)) 1584 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1585 # define __lzo_noinline __declspec(noinline) 1586 #elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) 1587 # if defined(__cplusplus) 1588 # else 1589 # define __lzo_noinline __declspec(noinline) 1590 # endif 1591 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1592 # define __lzo_noinline __attribute__((__noinline__)) 1593 #elif (LZO_CC_SUNPROC >= 0x5100) 1594 # define __lzo_noinline __attribute__((__noinline__)) 1595 #endif 1596 #endif 1597 #if defined(__lzo_noinline) 1598 # ifndef __lzo_HAVE_noinline 1599 # define __lzo_HAVE_noinline 1 1600 # endif 1601 #else 1602 # define __lzo_noinline /*empty*/ 1603 #endif 1604 #if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) 1605 # error "unexpected configuration - check your compiler defines" 1606 #endif 1607 #if !defined(__lzo_static_inline) 1608 #if (LZO_CC_IBMC) 1609 # define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline 1610 #endif 1611 #endif 1612 #if !defined(__lzo_static_inline) 1613 # define __lzo_static_inline static __lzo_inline 1614 #endif 1615 #if !defined(__lzo_static_forceinline) 1616 #if (LZO_CC_IBMC) 1617 # define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline 1618 #endif 1619 #endif 1620 #if !defined(__lzo_static_forceinline) 1621 # define __lzo_static_forceinline static __lzo_forceinline 1622 #endif 1623 #if !defined(__lzo_static_noinline) 1624 #if (LZO_CC_IBMC) 1625 # define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline 1626 #endif 1627 #endif 1628 #if !defined(__lzo_static_noinline) 1629 # define __lzo_static_noinline static __lzo_noinline 1630 #endif 1631 #if !defined(__lzo_c99_extern_inline) 1632 #if defined(__GNUC_GNU_INLINE__) 1633 # define __lzo_c99_extern_inline __lzo_inline 1634 #elif defined(__GNUC_STDC_INLINE__) 1635 # define __lzo_c99_extern_inline extern __lzo_inline 1636 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) 1637 # define __lzo_c99_extern_inline extern __lzo_inline 1638 #endif 1639 #if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline) 1640 # define __lzo_c99_extern_inline __lzo_inline 1641 #endif 1642 #endif 1643 #if defined(__lzo_c99_extern_inline) 1644 # ifndef __lzo_HAVE_c99_extern_inline 1645 # define __lzo_HAVE_c99_extern_inline 1 1646 # endif 1647 #else 1648 # define __lzo_c99_extern_inline /*empty*/ 1649 #endif 1650 #if !defined(__lzo_may_alias) 1651 #if (LZO_CC_GNUC >= 0x030400ul) 1652 # define __lzo_may_alias __attribute__((__may_alias__)) 1653 #elif (LZO_CC_CLANG >= 0x020900ul) 1654 # define __lzo_may_alias __attribute__((__may_alias__)) 1655 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0 1656 # define __lzo_may_alias __attribute__((__may_alias__)) 1657 #elif (LZO_CC_PGI >= 0x0d0a00ul) && 0 1658 # define __lzo_may_alias __attribute__((__may_alias__)) 1659 #endif 1660 #endif 1661 #if defined(__lzo_may_alias) 1662 # ifndef __lzo_HAVE_may_alias 1663 # define __lzo_HAVE_may_alias 1 1664 # endif 1665 #else 1666 # define __lzo_may_alias /*empty*/ 1667 #endif 1668 #if !defined(__lzo_noreturn) 1669 #if (LZO_CC_GNUC >= 0x020700ul) 1670 # define __lzo_noreturn __attribute__((__noreturn__)) 1671 #elif (LZO_CC_IBMC >= 700) 1672 # define __lzo_noreturn __attribute__((__noreturn__)) 1673 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) 1674 # define __lzo_noreturn __declspec(noreturn) 1675 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) 1676 # define __lzo_noreturn __attribute__((__noreturn__)) 1677 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1678 # define __lzo_noreturn __attribute__((__noreturn__)) 1679 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) 1680 # define __lzo_noreturn __declspec(noreturn) 1681 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1682 # define __lzo_noreturn __attribute__((__noreturn__)) 1683 #endif 1684 #endif 1685 #if defined(__lzo_noreturn) 1686 # ifndef __lzo_HAVE_noreturn 1687 # define __lzo_HAVE_noreturn 1 1688 # endif 1689 #else 1690 # define __lzo_noreturn /*empty*/ 1691 #endif 1692 #if !defined(__lzo_nothrow) 1693 #if (LZO_CC_GNUC >= 0x030300ul) 1694 # define __lzo_nothrow __attribute__((__nothrow__)) 1695 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus) 1696 # define __lzo_nothrow __declspec(nothrow) 1697 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900)) 1698 # define __lzo_nothrow __attribute__((__nothrow__)) 1699 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1700 # define __lzo_nothrow __attribute__((__nothrow__)) 1701 #elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) 1702 # define __lzo_nothrow __declspec(nothrow) 1703 #endif 1704 #endif 1705 #if defined(__lzo_nothrow) 1706 # ifndef __lzo_HAVE_nothrow 1707 # define __lzo_HAVE_nothrow 1 1708 # endif 1709 #else 1710 # define __lzo_nothrow /*empty*/ 1711 #endif 1712 #if !defined(__lzo_restrict) 1713 #if (LZO_CC_GNUC >= 0x030400ul) 1714 # define __lzo_restrict __restrict__ 1715 #elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus) 1716 # define __lzo_restrict __restrict__ 1717 #elif (LZO_CC_IBMC >= 1210) 1718 # define __lzo_restrict __restrict__ 1719 #elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) 1720 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) 1721 # define __lzo_restrict __restrict__ 1722 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM) 1723 # define __lzo_restrict __restrict__ 1724 #elif (LZO_CC_MSC && (_MSC_VER >= 1400)) 1725 # define __lzo_restrict __restrict 1726 #elif (LZO_CC_PGI >= 0x0d0a00ul) 1727 # define __lzo_restrict __restrict__ 1728 #endif 1729 #endif 1730 #if defined(__lzo_restrict) 1731 # ifndef __lzo_HAVE_restrict 1732 # define __lzo_HAVE_restrict 1 1733 # endif 1734 #else 1735 # define __lzo_restrict /*empty*/ 1736 #endif 1737 #if !defined(__lzo_alignof) 1738 #if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) 1739 # define __lzo_alignof(e) __alignof__(e) 1740 #elif (LZO_CC_GHS) && !defined(__cplusplus) 1741 # define __lzo_alignof(e) __alignof__(e) 1742 #elif (LZO_CC_IBMC >= 600) 1743 # define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e)) 1744 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) 1745 # define __lzo_alignof(e) __alignof__(e) 1746 #elif (LZO_CC_MSC && (_MSC_VER >= 1300)) 1747 # define __lzo_alignof(e) __alignof(e) 1748 #elif (LZO_CC_SUNPROC >= 0x5100) 1749 # define __lzo_alignof(e) __alignof__(e) 1750 #endif 1751 #endif 1752 #if defined(__lzo_alignof) 1753 # ifndef __lzo_HAVE_alignof 1754 # define __lzo_HAVE_alignof 1 1755 # endif 1756 #endif 1757 #if !defined(__lzo_struct_packed) 1758 #if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1759 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) 1760 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) 1761 #elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) 1762 #elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) 1763 #elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) 1764 # define __lzo_struct_packed(s) struct s { 1765 # define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__)); 1766 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__)); 1767 #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)) 1768 # define __lzo_struct_packed(s) struct s { 1769 # define __lzo_struct_packed_end() } __attribute__((__packed__)); 1770 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); 1771 #elif (LZO_CC_IBMC >= 700) 1772 # define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s { 1773 # define __lzo_struct_packed_end() } __attribute__((__packed__)); 1774 # define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); 1775 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1776 # define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s { 1777 # define __lzo_struct_packed_end() } __pragma(pack(pop)); 1778 #elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) 1779 # define __lzo_struct_packed(s) _Packed struct s { 1780 # define __lzo_struct_packed_end() }; 1781 #endif 1782 #endif 1783 #if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma) 1784 # define __lzo_struct_packed_ma(s) __lzo_struct_packed(s) 1785 #endif 1786 #if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end) 1787 # define __lzo_struct_packed_ma_end() __lzo_struct_packed_end() 1788 #endif 1789 #if !defined(__lzo_byte_struct) 1790 #if defined(__lzo_struct_packed) 1791 # define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end() 1792 # define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end() 1793 #elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100)) 1794 # define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__)); 1795 # define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__)); 1796 #endif 1797 #endif 1798 #if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma) 1799 # define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n) 1800 #endif 1801 #if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof) 1802 #if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)) 1803 #elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1804 #elif (LZO_CC_CILLY || LZO_CC_PCC) 1805 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1806 # define __lzo_struct_align16(s) struct __declspec(align(16)) s { 1807 # define __lzo_struct_align16_end() }; 1808 # define __lzo_struct_align32(s) struct __declspec(align(32)) s { 1809 # define __lzo_struct_align32_end() }; 1810 # define __lzo_struct_align64(s) struct __declspec(align(64)) s { 1811 # define __lzo_struct_align64_end() }; 1812 #elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1813 # define __lzo_struct_align16(s) struct s { 1814 # define __lzo_struct_align16_end() } __attribute__((__aligned__(16))); 1815 # define __lzo_struct_align32(s) struct s { 1816 # define __lzo_struct_align32_end() } __attribute__((__aligned__(32))); 1817 # define __lzo_struct_align64(s) struct s { 1818 # define __lzo_struct_align64_end() } __attribute__((__aligned__(64))); 1819 #endif 1820 #endif 1821 #if !defined(__lzo_union_um) 1822 #if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) 1823 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) 1824 #elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) 1825 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810)) 1826 #elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) 1827 #elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) 1828 #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)) 1829 # define __lzo_union_am(s) union s { 1830 # define __lzo_union_am_end() } __lzo_may_alias; 1831 # define __lzo_union_um(s) union s { 1832 # define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); 1833 #elif (LZO_CC_IBMC >= 700) 1834 # define __lzo_union_am(s) __lzo_gnuc_extension__ union s { 1835 # define __lzo_union_am_end() } __lzo_may_alias; 1836 # define __lzo_union_um(s) __lzo_gnuc_extension__ union s { 1837 # define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); 1838 #elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) 1839 # define __lzo_union_um(s) __pragma(pack(push,1)) union s { 1840 # define __lzo_union_um_end() } __pragma(pack(pop)); 1841 #elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) 1842 # define __lzo_union_um(s) _Packed union s { 1843 # define __lzo_union_um_end() }; 1844 #endif 1845 #endif 1846 #if !defined(__lzo_union_am) 1847 # define __lzo_union_am(s) union s { 1848 # define __lzo_union_am_end() }; 1849 #endif 1850 #if !defined(__lzo_constructor) 1851 #if (LZO_CC_GNUC >= 0x030400ul) 1852 # define __lzo_constructor __attribute__((__constructor__,__used__)) 1853 #elif (LZO_CC_GNUC >= 0x020700ul) 1854 # define __lzo_constructor __attribute__((__constructor__)) 1855 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1856 # define __lzo_constructor __attribute__((__constructor__,__used__)) 1857 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1858 # define __lzo_constructor __attribute__((__constructor__)) 1859 #endif 1860 #endif 1861 #if defined(__lzo_constructor) 1862 # ifndef __lzo_HAVE_constructor 1863 # define __lzo_HAVE_constructor 1 1864 # endif 1865 #endif 1866 #if !defined(__lzo_destructor) 1867 #if (LZO_CC_GNUC >= 0x030400ul) 1868 # define __lzo_destructor __attribute__((__destructor__,__used__)) 1869 #elif (LZO_CC_GNUC >= 0x020700ul) 1870 # define __lzo_destructor __attribute__((__destructor__)) 1871 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) 1872 # define __lzo_destructor __attribute__((__destructor__,__used__)) 1873 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1874 # define __lzo_destructor __attribute__((__destructor__)) 1875 #endif 1876 #endif 1877 #if defined(__lzo_destructor) 1878 # ifndef __lzo_HAVE_destructor 1879 # define __lzo_HAVE_destructor 1 1880 # endif 1881 #endif 1882 #if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) 1883 # error "unexpected configuration - check your compiler defines" 1884 #endif 1885 #if !defined(__lzo_likely) && !defined(__lzo_unlikely) 1886 #if (LZO_CC_GNUC >= 0x030200ul) 1887 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1888 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1889 #elif (LZO_CC_IBMC >= 1010) 1890 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1891 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1892 #elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) 1893 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1894 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1895 #elif (LZO_CC_CLANG && LZO_CC_CLANG_C2) 1896 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) 1897 # define __lzo_likely(e) (__builtin_expect(!!(e),1)) 1898 # define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) 1899 #endif 1900 #endif 1901 #if defined(__lzo_likely) 1902 # ifndef __lzo_HAVE_likely 1903 # define __lzo_HAVE_likely 1 1904 # endif 1905 #else 1906 # define __lzo_likely(e) (e) 1907 #endif 1908 #if defined(__lzo_very_likely) 1909 # ifndef __lzo_HAVE_very_likely 1910 # define __lzo_HAVE_very_likely 1 1911 # endif 1912 #else 1913 # define __lzo_very_likely(e) __lzo_likely(e) 1914 #endif 1915 #if defined(__lzo_unlikely) 1916 # ifndef __lzo_HAVE_unlikely 1917 # define __lzo_HAVE_unlikely 1 1918 # endif 1919 #else 1920 # define __lzo_unlikely(e) (e) 1921 #endif 1922 #if defined(__lzo_very_unlikely) 1923 # ifndef __lzo_HAVE_very_unlikely 1924 # define __lzo_HAVE_very_unlikely 1 1925 # endif 1926 #else 1927 # define __lzo_very_unlikely(e) __lzo_unlikely(e) 1928 #endif 1929 #if !defined(__lzo_loop_forever) 1930 # if (LZO_CC_IBMC) 1931 # define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END 1932 # else 1933 # define __lzo_loop_forever() do { ; } while __lzo_cte(1) 1934 # endif 1935 #endif 1936 #if !defined(__lzo_unreachable) 1937 #if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_unreachable) 1938 # define __lzo_unreachable() __builtin_unreachable(); 1939 #elif (LZO_CC_GNUC >= 0x040500ul) 1940 # define __lzo_unreachable() __builtin_unreachable(); 1941 #elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1 1942 # define __lzo_unreachable() __builtin_unreachable(); 1943 #endif 1944 #endif 1945 #if defined(__lzo_unreachable) 1946 # ifndef __lzo_HAVE_unreachable 1947 # define __lzo_HAVE_unreachable 1 1948 # endif 1949 #else 1950 # if 0 1951 # define __lzo_unreachable() ((void)0); 1952 # else 1953 # define __lzo_unreachable() __lzo_loop_forever(); 1954 # endif 1955 #endif 1956 #if !defined(lzo_unused_funcs_impl) 1957 # 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) 1958 # define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f 1959 # elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC) 1960 # define lzo_unused_funcs_impl(r,f) static r f 1961 # else 1962 # define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f 1963 # endif 1964 #endif 1965 #ifndef __LZO_CTA_NAME 1966 #if (LZO_CFG_USE_COUNTER) 1967 # define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__) 1968 #else 1969 # define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__) 1970 #endif 1971 #endif 1972 #if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) 1973 # if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) 1974 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END 1975 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC) 1976 # 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 1977 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 1978 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END 1979 # elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus) 1980 # 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 1981 # elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) 1982 # 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 1983 # else 1984 # 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 1985 # endif 1986 #endif 1987 #if !defined(LZO_COMPILE_TIME_ASSERT) 1988 # if (LZO_CC_AZTECC) 1989 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];} 1990 # elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul)) 1991 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} 1992 # elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 1993 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 1994 # elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) 1995 # define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));} 1996 # elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus) 1997 # define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));} 1998 # elif (LZO_CC_GNUC >= 0x040700ul) 1999 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} 2000 # elif (LZO_CC_MSC && (_MSC_VER < 900)) 2001 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 2002 # elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) 2003 # define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; 2004 # else 2005 # define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];} 2006 # endif 2007 #endif 2008 #if (LZO_LANG_ASSEMBLER) 2009 # undef LZO_COMPILE_TIME_ASSERT_HEADER 2010 # define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/ 2011 #else 2012 LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1) 2013 #if defined(__cplusplus) 2014 extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) } 2015 #endif 2016 LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3) 2017 #endif 2018 #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) 2019 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) 2020 # elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) 2021 # define __lzo_cdecl __cdecl 2022 # define __lzo_cdecl_atexit /*empty*/ 2023 # define __lzo_cdecl_main __cdecl 2024 # if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 2025 # define __lzo_cdecl_qsort __pascal 2026 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 2027 # define __lzo_cdecl_qsort _stdcall 2028 # else 2029 # define __lzo_cdecl_qsort __cdecl 2030 # endif 2031 # elif (LZO_CC_WATCOMC) 2032 # define __lzo_cdecl __cdecl 2033 # else 2034 # define __lzo_cdecl __cdecl 2035 # define __lzo_cdecl_atexit __cdecl 2036 # define __lzo_cdecl_main __cdecl 2037 # define __lzo_cdecl_qsort __cdecl 2038 # endif 2039 # if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) 2040 # elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) 2041 # define __lzo_cdecl_sighandler __pascal 2042 # elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) 2043 # define __lzo_cdecl_sighandler _stdcall 2044 # elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) 2045 # define __lzo_cdecl_sighandler __clrcall 2046 # elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) 2047 # if defined(_DLL) 2048 # define __lzo_cdecl_sighandler _far _cdecl _loadds 2049 # elif defined(_MT) 2050 # define __lzo_cdecl_sighandler _far _cdecl 2051 # else 2052 # define __lzo_cdecl_sighandler _cdecl 2053 # endif 2054 # else 2055 # define __lzo_cdecl_sighandler __cdecl 2056 # endif 2057 #elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) 2058 # define __lzo_cdecl __cdecl 2059 #elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) 2060 # define __lzo_cdecl cdecl 2061 #endif 2062 #if !defined(__lzo_cdecl) 2063 # define __lzo_cdecl /*empty*/ 2064 #endif 2065 #if !defined(__lzo_cdecl_atexit) 2066 # define __lzo_cdecl_atexit /*empty*/ 2067 #endif 2068 #if !defined(__lzo_cdecl_main) 2069 # define __lzo_cdecl_main /*empty*/ 2070 #endif 2071 #if !defined(__lzo_cdecl_qsort) 2072 # define __lzo_cdecl_qsort /*empty*/ 2073 #endif 2074 #if !defined(__lzo_cdecl_sighandler) 2075 # define __lzo_cdecl_sighandler /*empty*/ 2076 #endif 2077 #if !defined(__lzo_cdecl_va) 2078 # define __lzo_cdecl_va __lzo_cdecl 2079 #endif 2080 #if !(LZO_CFG_NO_WINDOWS_H) 2081 #if !defined(LZO_HAVE_WINDOWS_H) 2082 #if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) 2083 # if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) 2084 # elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))) 2085 # elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) 2086 # else 2087 # define LZO_HAVE_WINDOWS_H 1 2088 # endif 2089 #endif 2090 #endif 2091 #endif 2092 #define LZO_SIZEOF_CHAR 1 2093 #ifndef LZO_SIZEOF_SHORT 2094 #if defined(SIZEOF_SHORT) 2095 # define LZO_SIZEOF_SHORT (SIZEOF_SHORT) 2096 #elif defined(__SIZEOF_SHORT__) 2097 # define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__) 2098 #endif 2099 #endif 2100 #ifndef LZO_SIZEOF_INT 2101 #if defined(SIZEOF_INT) 2102 # define LZO_SIZEOF_INT (SIZEOF_INT) 2103 #elif defined(__SIZEOF_INT__) 2104 # define LZO_SIZEOF_INT (__SIZEOF_INT__) 2105 #endif 2106 #endif 2107 #ifndef LZO_SIZEOF_LONG 2108 #if defined(SIZEOF_LONG) 2109 # define LZO_SIZEOF_LONG (SIZEOF_LONG) 2110 #elif defined(__SIZEOF_LONG__) 2111 # define LZO_SIZEOF_LONG (__SIZEOF_LONG__) 2112 #endif 2113 #endif 2114 #ifndef LZO_SIZEOF_LONG_LONG 2115 #if defined(SIZEOF_LONG_LONG) 2116 # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) 2117 #elif defined(__SIZEOF_LONG_LONG__) 2118 # define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__) 2119 #endif 2120 #endif 2121 #ifndef LZO_SIZEOF___INT16 2122 #if defined(SIZEOF___INT16) 2123 # define LZO_SIZEOF___INT16 (SIZEOF___INT16) 2124 #endif 2125 #endif 2126 #ifndef LZO_SIZEOF___INT32 2127 #if defined(SIZEOF___INT32) 2128 # define LZO_SIZEOF___INT32 (SIZEOF___INT32) 2129 #endif 2130 #endif 2131 #ifndef LZO_SIZEOF___INT64 2132 #if defined(SIZEOF___INT64) 2133 # define LZO_SIZEOF___INT64 (SIZEOF___INT64) 2134 #endif 2135 #endif 2136 #ifndef LZO_SIZEOF_VOID_P 2137 #if defined(SIZEOF_VOID_P) 2138 # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) 2139 #elif defined(__SIZEOF_POINTER__) 2140 # define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__) 2141 #endif 2142 #endif 2143 #ifndef LZO_SIZEOF_SIZE_T 2144 #if defined(SIZEOF_SIZE_T) 2145 # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) 2146 #elif defined(__SIZEOF_SIZE_T__) 2147 # define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__) 2148 #endif 2149 #endif 2150 #ifndef LZO_SIZEOF_PTRDIFF_T 2151 #if defined(SIZEOF_PTRDIFF_T) 2152 # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) 2153 #elif defined(__SIZEOF_PTRDIFF_T__) 2154 # define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__) 2155 #endif 2156 #endif 2157 #define __LZO_LSR(x,b) (((x)+0ul) >> (b)) 2158 #if !defined(LZO_SIZEOF_SHORT) 2159 # if (LZO_ARCH_CRAY_PVP) 2160 # define LZO_SIZEOF_SHORT 8 2161 # elif (USHRT_MAX == LZO_0xffffL) 2162 # define LZO_SIZEOF_SHORT 2 2163 # elif (__LZO_LSR(USHRT_MAX,7) == 1) 2164 # define LZO_SIZEOF_SHORT 1 2165 # elif (__LZO_LSR(USHRT_MAX,15) == 1) 2166 # define LZO_SIZEOF_SHORT 2 2167 # elif (__LZO_LSR(USHRT_MAX,31) == 1) 2168 # define LZO_SIZEOF_SHORT 4 2169 # elif (__LZO_LSR(USHRT_MAX,63) == 1) 2170 # define LZO_SIZEOF_SHORT 8 2171 # elif (__LZO_LSR(USHRT_MAX,127) == 1) 2172 # define LZO_SIZEOF_SHORT 16 2173 # else 2174 # error "LZO_SIZEOF_SHORT" 2175 # endif 2176 #endif 2177 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short)) 2178 #if !defined(LZO_SIZEOF_INT) 2179 # if (LZO_ARCH_CRAY_PVP) 2180 # define LZO_SIZEOF_INT 8 2181 # elif (UINT_MAX == LZO_0xffffL) 2182 # define LZO_SIZEOF_INT 2 2183 # elif (UINT_MAX == LZO_0xffffffffL) 2184 # define LZO_SIZEOF_INT 4 2185 # elif (__LZO_LSR(UINT_MAX,7) == 1) 2186 # define LZO_SIZEOF_INT 1 2187 # elif (__LZO_LSR(UINT_MAX,15) == 1) 2188 # define LZO_SIZEOF_INT 2 2189 # elif (__LZO_LSR(UINT_MAX,31) == 1) 2190 # define LZO_SIZEOF_INT 4 2191 # elif (__LZO_LSR(UINT_MAX,63) == 1) 2192 # define LZO_SIZEOF_INT 8 2193 # elif (__LZO_LSR(UINT_MAX,127) == 1) 2194 # define LZO_SIZEOF_INT 16 2195 # else 2196 # error "LZO_SIZEOF_INT" 2197 # endif 2198 #endif 2199 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int)) 2200 #if !defined(LZO_SIZEOF_LONG) 2201 # if (ULONG_MAX == LZO_0xffffffffL) 2202 # define LZO_SIZEOF_LONG 4 2203 # elif (__LZO_LSR(ULONG_MAX,7) == 1) 2204 # define LZO_SIZEOF_LONG 1 2205 # elif (__LZO_LSR(ULONG_MAX,15) == 1) 2206 # define LZO_SIZEOF_LONG 2 2207 # elif (__LZO_LSR(ULONG_MAX,31) == 1) 2208 # define LZO_SIZEOF_LONG 4 2209 # elif (__LZO_LSR(ULONG_MAX,39) == 1) 2210 # define LZO_SIZEOF_LONG 5 2211 # elif (__LZO_LSR(ULONG_MAX,63) == 1) 2212 # define LZO_SIZEOF_LONG 8 2213 # elif (__LZO_LSR(ULONG_MAX,127) == 1) 2214 # define LZO_SIZEOF_LONG 16 2215 # else 2216 # error "LZO_SIZEOF_LONG" 2217 # endif 2218 #endif 2219 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long)) 2220 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 2221 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 2222 # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) 2223 # if (LZO_CC_GNUC >= 0x030300ul) 2224 # if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0)) 2225 # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG 2226 # elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) 2227 # define LZO_SIZEOF_LONG_LONG 4 2228 # endif 2229 # endif 2230 # endif 2231 #endif 2232 #endif 2233 #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) 2234 #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) 2235 #if (LZO_ARCH_I086 && LZO_CC_DMC) 2236 #elif (LZO_CC_CILLY) && defined(__GNUC__) 2237 # define LZO_SIZEOF_LONG_LONG 8 2238 #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) 2239 # define LZO_SIZEOF_LONG_LONG 8 2240 #elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) 2241 # define LZO_SIZEOF_LONG_LONG 8 2242 #elif (LZO_OS_WIN64 || defined(_WIN64)) 2243 # define LZO_SIZEOF___INT64 8 2244 #elif (LZO_ARCH_I386 && (LZO_CC_DMC)) 2245 # define LZO_SIZEOF_LONG_LONG 8 2246 #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) 2247 # define LZO_SIZEOF_LONG_LONG 8 2248 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) 2249 # define LZO_SIZEOF_LONG_LONG 8 2250 #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) 2251 # define LZO_SIZEOF_LONG_LONG 8 2252 #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) 2253 # define LZO_SIZEOF___INT64 8 2254 #elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) 2255 # define LZO_SIZEOF___INT64 8 2256 #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) 2257 # define LZO_SIZEOF___INT64 8 2258 #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) 2259 # define LZO_SIZEOF___INT64 8 2260 #elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64)) 2261 # define LZO_SIZEOF_LONG_LONG 8 2262 #elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64)) 2263 # define LZO_SIZEOF___INT64 8 2264 #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) 2265 # define LZO_SIZEOF_LONG_LONG 8 2266 #elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64) 2267 # define LZO_SIZEOF_LONG_LONG 8 2268 #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) 2269 #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) 2270 # define LZO_SIZEOF_LONG_LONG 8 2271 #endif 2272 #endif 2273 #endif 2274 #if defined(__cplusplus) && (LZO_CC_GNUC) 2275 # if (LZO_CC_GNUC < 0x020800ul) 2276 # undef LZO_SIZEOF_LONG_LONG 2277 # endif 2278 #endif 2279 #if (LZO_CFG_NO_LONG_LONG) 2280 # undef LZO_SIZEOF_LONG_LONG 2281 #elif defined(__NO_LONG_LONG) 2282 # undef LZO_SIZEOF_LONG_LONG 2283 #elif defined(_NO_LONGLONG) 2284 # undef LZO_SIZEOF_LONG_LONG 2285 #endif 2286 #if !defined(LZO_WORDSIZE) 2287 #if (LZO_ARCH_ALPHA) 2288 # define LZO_WORDSIZE 8 2289 #elif (LZO_ARCH_AMD64) 2290 # define LZO_WORDSIZE 8 2291 #elif (LZO_ARCH_ARM64) 2292 # define LZO_WORDSIZE 8 2293 #elif (LZO_ARCH_AVR) 2294 # define LZO_WORDSIZE 1 2295 #elif (LZO_ARCH_H8300) 2296 # if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 2297 # define LZO_WORDSIZE 4 2298 # else 2299 # define LZO_WORDSIZE 2 2300 # endif 2301 #elif (LZO_ARCH_I086) 2302 # define LZO_WORDSIZE 2 2303 #elif (LZO_ARCH_IA64) 2304 # define LZO_WORDSIZE 8 2305 #elif (LZO_ARCH_M16C) 2306 # define LZO_WORDSIZE 2 2307 #elif (LZO_ARCH_SPU) 2308 # define LZO_WORDSIZE 4 2309 #elif (LZO_ARCH_Z80) 2310 # define LZO_WORDSIZE 1 2311 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 2312 # define LZO_WORDSIZE 8 2313 #elif (LZO_OS_OS400 || defined(__OS400__)) 2314 # define LZO_WORDSIZE 8 2315 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 2316 # define LZO_WORDSIZE 8 2317 #endif 2318 #endif 2319 #if !defined(LZO_SIZEOF_VOID_P) 2320 #if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32) 2321 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4) 2322 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) 2323 # define LZO_SIZEOF_VOID_P 4 2324 #elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64) 2325 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8) 2326 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) 2327 # define LZO_SIZEOF_VOID_P 8 2328 #elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) 2329 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) 2330 # define LZO_SIZEOF_VOID_P 8 2331 #elif defined(__LP64__) || defined(__LP64) || defined(_LP64) 2332 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) 2333 # define LZO_SIZEOF_VOID_P 8 2334 #elif (LZO_ARCH_AVR) 2335 # define LZO_SIZEOF_VOID_P 2 2336 #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) 2337 # define LZO_SIZEOF_VOID_P 2 2338 #elif (LZO_ARCH_H8300) 2339 # if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) 2340 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4) 2341 # if defined(__NORMAL_MODE__) 2342 # define LZO_SIZEOF_VOID_P 2 2343 # else 2344 # define LZO_SIZEOF_VOID_P 4 2345 # endif 2346 # else 2347 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2) 2348 # define LZO_SIZEOF_VOID_P 2 2349 # endif 2350 # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) 2351 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT 2352 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT 2353 # endif 2354 #elif (LZO_ARCH_I086) 2355 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) 2356 # define LZO_SIZEOF_VOID_P 2 2357 # elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) 2358 # define LZO_SIZEOF_VOID_P 4 2359 # else 2360 # error "invalid LZO_ARCH_I086 memory model" 2361 # endif 2362 #elif (LZO_ARCH_M16C) 2363 # if defined(__m32c_cpu__) || defined(__m32cm_cpu__) 2364 # define LZO_SIZEOF_VOID_P 4 2365 # else 2366 # define LZO_SIZEOF_VOID_P 2 2367 # endif 2368 #elif (LZO_ARCH_SPU) 2369 # define LZO_SIZEOF_VOID_P 4 2370 #elif (LZO_ARCH_Z80) 2371 # define LZO_SIZEOF_VOID_P 2 2372 #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) 2373 # define LZO_SIZEOF_VOID_P 4 2374 #elif (LZO_OS_OS400 || defined(__OS400__)) 2375 # if defined(__LLP64_IFC__) 2376 # define LZO_SIZEOF_VOID_P 8 2377 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2378 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2379 # else 2380 # define LZO_SIZEOF_VOID_P 16 2381 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2382 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2383 # endif 2384 #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) 2385 # define LZO_SIZEOF_VOID_P 8 2386 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG 2387 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG 2388 #endif 2389 #endif 2390 #if !defined(LZO_SIZEOF_VOID_P) 2391 # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG 2392 #endif 2393 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *)) 2394 #if !defined(LZO_SIZEOF_SIZE_T) 2395 #if (LZO_ARCH_I086 || LZO_ARCH_M16C) 2396 # define LZO_SIZEOF_SIZE_T 2 2397 #endif 2398 #endif 2399 #if !defined(LZO_SIZEOF_SIZE_T) 2400 # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P 2401 #endif 2402 #if defined(offsetof) 2403 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t)) 2404 #endif 2405 #if !defined(LZO_SIZEOF_PTRDIFF_T) 2406 #if (LZO_ARCH_I086) 2407 # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) 2408 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P 2409 # elif (LZO_MM_COMPACT || LZO_MM_LARGE) 2410 # if (LZO_CC_BORLANDC || LZO_CC_TURBOC) 2411 # define LZO_SIZEOF_PTRDIFF_T 4 2412 # else 2413 # define LZO_SIZEOF_PTRDIFF_T 2 2414 # endif 2415 # else 2416 # error "invalid LZO_ARCH_I086 memory model" 2417 # endif 2418 #endif 2419 #endif 2420 #if !defined(LZO_SIZEOF_PTRDIFF_T) 2421 # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T 2422 #endif 2423 #if defined(offsetof) 2424 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t)) 2425 #endif 2426 #if !defined(LZO_WORDSIZE) 2427 # define LZO_WORDSIZE LZO_SIZEOF_VOID_P 2428 #endif 2429 #if (LZO_ABI_NEUTRAL_ENDIAN) 2430 # undef LZO_ABI_BIG_ENDIAN 2431 # undef LZO_ABI_LITTLE_ENDIAN 2432 #elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) 2433 #if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) 2434 # define LZO_ABI_BIG_ENDIAN 1 2435 #elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) 2436 # define LZO_ABI_LITTLE_ENDIAN 1 2437 #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) 2438 # define LZO_ABI_LITTLE_ENDIAN 1 2439 #elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU) 2440 # define LZO_ABI_BIG_ENDIAN 1 2441 #elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) 2442 # if (__LITTLE_ENDIAN__ == 1) 2443 # define LZO_ABI_LITTLE_ENDIAN 1 2444 # else 2445 # define LZO_ABI_BIG_ENDIAN 1 2446 # endif 2447 #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) 2448 # define LZO_ABI_BIG_ENDIAN 1 2449 #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) 2450 # define LZO_ABI_LITTLE_ENDIAN 1 2451 #elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) 2452 # define LZO_ABI_BIG_ENDIAN 1 2453 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) 2454 # define LZO_ABI_BIG_ENDIAN 1 2455 #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) 2456 # define LZO_ABI_LITTLE_ENDIAN 1 2457 #elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32) 2458 # define LZO_ABI_LITTLE_ENDIAN 1 2459 #elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC) 2460 # if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) 2461 # error "unexpected configuration - check your compiler defines" 2462 # elif defined(__BIG_ENDIAN) 2463 # define LZO_ABI_BIG_ENDIAN 1 2464 # else 2465 # define LZO_ABI_LITTLE_ENDIAN 1 2466 # endif 2467 # define LZO_ABI_LITTLE_ENDIAN 1 2468 #elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) 2469 # define LZO_ABI_BIG_ENDIAN 1 2470 #elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__) 2471 # define LZO_ABI_BIG_ENDIAN 1 2472 #elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__) 2473 # define LZO_ABI_LITTLE_ENDIAN 1 2474 #elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32) 2475 # define LZO_ABI_LITTLE_ENDIAN 1 2476 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) 2477 # define LZO_ABI_BIG_ENDIAN 1 2478 #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) 2479 # define LZO_ABI_LITTLE_ENDIAN 1 2480 #endif 2481 #endif 2482 #if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) 2483 # error "unexpected configuration - check your compiler defines" 2484 #endif 2485 #if (LZO_ABI_BIG_ENDIAN) 2486 # define LZO_INFO_ABI_ENDIAN "be" 2487 #elif (LZO_ABI_LITTLE_ENDIAN) 2488 # define LZO_INFO_ABI_ENDIAN "le" 2489 #elif (LZO_ABI_NEUTRAL_ENDIAN) 2490 # define LZO_INFO_ABI_ENDIAN "neutral" 2491 #endif 2492 #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 2493 # define LZO_ABI_I8LP16 1 2494 # define LZO_INFO_ABI_PM "i8lp16" 2495 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) 2496 # define LZO_ABI_ILP16 1 2497 # define LZO_INFO_ABI_PM "ilp16" 2498 #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 2499 # define LZO_ABI_LP32 1 2500 # define LZO_INFO_ABI_PM "lp32" 2501 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) 2502 # define LZO_ABI_ILP32 1 2503 # define LZO_INFO_ABI_PM "ilp32" 2504 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) 2505 # define LZO_ABI_LLP64 1 2506 # define LZO_INFO_ABI_PM "llp64" 2507 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 2508 # define LZO_ABI_LP64 1 2509 # define LZO_INFO_ABI_PM "lp64" 2510 #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) 2511 # define LZO_ABI_ILP64 1 2512 # define LZO_INFO_ABI_PM "ilp64" 2513 #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) 2514 # define LZO_ABI_IP32L64 1 2515 # define LZO_INFO_ABI_PM "ip32l64" 2516 #endif 2517 #if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8) 2518 # define LZO_ABI_IP32W64 1 2519 # ifndef LZO_INFO_ABI_PM 2520 # define LZO_INFO_ABI_PM "ip32w64" 2521 # endif 2522 #endif 2523 #if 0 2524 #elif !defined(__LZO_LIBC_OVERRIDE) 2525 #if (LZO_LIBC_NAKED) 2526 # define LZO_INFO_LIBC "naked" 2527 #elif (LZO_LIBC_FREESTANDING) 2528 # define LZO_INFO_LIBC "freestanding" 2529 #elif (LZO_LIBC_MOSTLY_FREESTANDING) 2530 # define LZO_INFO_LIBC "mfreestanding" 2531 #elif (LZO_LIBC_ISOC90) 2532 # define LZO_INFO_LIBC "isoc90" 2533 #elif (LZO_LIBC_ISOC99) 2534 # define LZO_INFO_LIBC "isoc99" 2535 #elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION) 2536 # define LZO_LIBC_ISOC90 1 2537 # define LZO_INFO_LIBC "isoc90" 2538 #elif defined(__dietlibc__) 2539 # define LZO_LIBC_DIETLIBC 1 2540 # define LZO_INFO_LIBC "dietlibc" 2541 #elif defined(_NEWLIB_VERSION) 2542 # define LZO_LIBC_NEWLIB 1 2543 # define LZO_INFO_LIBC "newlib" 2544 #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) 2545 # if defined(__UCLIBC_SUBLEVEL__) 2546 # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0)) 2547 # else 2548 # define LZO_LIBC_UCLIBC 0x00090bL 2549 # endif 2550 # define LZO_INFO_LIBC "uc" "libc" 2551 #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) 2552 # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100) 2553 # define LZO_INFO_LIBC "glibc" 2554 #elif (LZO_CC_MWERKS) && defined(__MSL__) 2555 # define LZO_LIBC_MSL __MSL__ 2556 # define LZO_INFO_LIBC "msl" 2557 #elif 1 && defined(__IAR_SYSTEMS_ICC__) 2558 # define LZO_LIBC_ISOC90 1 2559 # define LZO_INFO_LIBC "isoc90" 2560 #else 2561 # define LZO_LIBC_DEFAULT 1 2562 # define LZO_INFO_LIBC "default" 2563 #endif 2564 #endif 2565 #if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 2566 # define LZO_ASM_SYNTAX_MSC 1 2567 #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) 2568 #elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) 2569 #elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 2570 # define LZO_ASM_SYNTAX_GNUC 1 2571 #elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) 2572 # define LZO_ASM_SYNTAX_GNUC 1 2573 #elif (LZO_CC_GNUC) 2574 # define LZO_ASM_SYNTAX_GNUC 1 2575 #endif 2576 #if (LZO_ASM_SYNTAX_GNUC) 2577 #if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) 2578 # define __LZO_ASM_CLOBBER "ax" 2579 # define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ 2580 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/ 2581 # define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ 2582 #elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000)) 2583 # define __LZO_ASM_CLOBBER "memory" 2584 # define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ 2585 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory" 2586 # define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ 2587 #else 2588 # define __LZO_ASM_CLOBBER "cc", "memory" 2589 # define __LZO_ASM_CLOBBER_LIST_CC : "cc" 2590 # define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory" 2591 # define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ 2592 #endif 2593 #endif 2594 #if (LZO_ARCH_ALPHA) 2595 # define LZO_OPT_AVOID_UINT_INDEX 1 2596 #elif (LZO_ARCH_AMD64) 2597 # define LZO_OPT_AVOID_INT_INDEX 1 2598 # define LZO_OPT_AVOID_UINT_INDEX 1 2599 # ifndef LZO_OPT_UNALIGNED16 2600 # define LZO_OPT_UNALIGNED16 1 2601 # endif 2602 # ifndef LZO_OPT_UNALIGNED32 2603 # define LZO_OPT_UNALIGNED32 1 2604 # endif 2605 # ifndef LZO_OPT_UNALIGNED64 2606 # define LZO_OPT_UNALIGNED64 1 2607 # endif 2608 #elif (LZO_ARCH_ARM) 2609 # if defined(__ARM_FEATURE_UNALIGNED) 2610 # if ((__ARM_FEATURE_UNALIGNED)+0) 2611 # ifndef LZO_OPT_UNALIGNED16 2612 # define LZO_OPT_UNALIGNED16 1 2613 # endif 2614 # ifndef LZO_OPT_UNALIGNED32 2615 # define LZO_OPT_UNALIGNED32 1 2616 # endif 2617 # endif 2618 # elif 1 && (LZO_ARCH_ARM_THUMB2) 2619 # ifndef LZO_OPT_UNALIGNED16 2620 # define LZO_OPT_UNALIGNED16 1 2621 # endif 2622 # ifndef LZO_OPT_UNALIGNED32 2623 # define LZO_OPT_UNALIGNED32 1 2624 # endif 2625 # elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7) 2626 # ifndef LZO_OPT_UNALIGNED16 2627 # define LZO_OPT_UNALIGNED16 1 2628 # endif 2629 # ifndef LZO_OPT_UNALIGNED32 2630 # define LZO_OPT_UNALIGNED32 1 2631 # endif 2632 # elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7) 2633 # ifndef LZO_OPT_UNALIGNED16 2634 # define LZO_OPT_UNALIGNED16 1 2635 # endif 2636 # ifndef LZO_OPT_UNALIGNED32 2637 # define LZO_OPT_UNALIGNED32 1 2638 # endif 2639 # elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defined(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R)) 2640 # ifndef LZO_OPT_UNALIGNED16 2641 # define LZO_OPT_UNALIGNED16 1 2642 # endif 2643 # ifndef LZO_OPT_UNALIGNED32 2644 # define LZO_OPT_UNALIGNED32 1 2645 # endif 2646 # elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7) 2647 # ifndef LZO_OPT_UNALIGNED16 2648 # define LZO_OPT_UNALIGNED16 1 2649 # endif 2650 # ifndef LZO_OPT_UNALIGNED32 2651 # define LZO_OPT_UNALIGNED32 1 2652 # endif 2653 # endif 2654 #elif (LZO_ARCH_ARM64) 2655 # ifndef LZO_OPT_UNALIGNED16 2656 # define LZO_OPT_UNALIGNED16 1 2657 # endif 2658 # ifndef LZO_OPT_UNALIGNED32 2659 # define LZO_OPT_UNALIGNED32 1 2660 # endif 2661 # ifndef LZO_OPT_UNALIGNED64 2662 # define LZO_OPT_UNALIGNED64 1 2663 # endif 2664 #elif (LZO_ARCH_CRIS) 2665 # ifndef LZO_OPT_UNALIGNED16 2666 # define LZO_OPT_UNALIGNED16 1 2667 # endif 2668 # ifndef LZO_OPT_UNALIGNED32 2669 # define LZO_OPT_UNALIGNED32 1 2670 # endif 2671 #elif (LZO_ARCH_I386) 2672 # ifndef LZO_OPT_UNALIGNED16 2673 # define LZO_OPT_UNALIGNED16 1 2674 # endif 2675 # ifndef LZO_OPT_UNALIGNED32 2676 # define LZO_OPT_UNALIGNED32 1 2677 # endif 2678 #elif (LZO_ARCH_IA64) 2679 # define LZO_OPT_AVOID_INT_INDEX 1 2680 # define LZO_OPT_AVOID_UINT_INDEX 1 2681 # define LZO_OPT_PREFER_POSTINC 1 2682 #elif (LZO_ARCH_M68K) 2683 # define LZO_OPT_PREFER_POSTINC 1 2684 # define LZO_OPT_PREFER_PREDEC 1 2685 # if defined(__mc68020__) && !defined(__mcoldfire__) 2686 # ifndef LZO_OPT_UNALIGNED16 2687 # define LZO_OPT_UNALIGNED16 1 2688 # endif 2689 # ifndef LZO_OPT_UNALIGNED32 2690 # define LZO_OPT_UNALIGNED32 1 2691 # endif 2692 # endif 2693 #elif (LZO_ARCH_MIPS) 2694 # define LZO_OPT_AVOID_UINT_INDEX 1 2695 #elif (LZO_ARCH_POWERPC) 2696 # define LZO_OPT_PREFER_PREINC 1 2697 # define LZO_OPT_PREFER_PREDEC 1 2698 # if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8) 2699 # ifndef LZO_OPT_UNALIGNED16 2700 # define LZO_OPT_UNALIGNED16 1 2701 # endif 2702 # ifndef LZO_OPT_UNALIGNED32 2703 # define LZO_OPT_UNALIGNED32 1 2704 # endif 2705 # if (LZO_WORDSIZE == 8) 2706 # ifndef LZO_OPT_UNALIGNED64 2707 # define LZO_OPT_UNALIGNED64 1 2708 # endif 2709 # endif 2710 # endif 2711 #elif (LZO_ARCH_RISCV) 2712 # define LZO_OPT_AVOID_UINT_INDEX 1 2713 # ifndef LZO_OPT_UNALIGNED16 2714 # define LZO_OPT_UNALIGNED16 1 2715 # endif 2716 # ifndef LZO_OPT_UNALIGNED32 2717 # define LZO_OPT_UNALIGNED32 1 2718 # endif 2719 # if (LZO_WORDSIZE == 8) 2720 # ifndef LZO_OPT_UNALIGNED64 2721 # define LZO_OPT_UNALIGNED64 1 2722 # endif 2723 # endif 2724 #elif (LZO_ARCH_S390) 2725 # ifndef LZO_OPT_UNALIGNED16 2726 # define LZO_OPT_UNALIGNED16 1 2727 # endif 2728 # ifndef LZO_OPT_UNALIGNED32 2729 # define LZO_OPT_UNALIGNED32 1 2730 # endif 2731 # if (LZO_WORDSIZE == 8) 2732 # ifndef LZO_OPT_UNALIGNED64 2733 # define LZO_OPT_UNALIGNED64 1 2734 # endif 2735 # endif 2736 #elif (LZO_ARCH_SH) 2737 # define LZO_OPT_PREFER_POSTINC 1 2738 # define LZO_OPT_PREFER_PREDEC 1 2739 #endif 2740 #ifndef LZO_CFG_NO_INLINE_ASM 2741 #if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) 2742 # define LZO_CFG_NO_INLINE_ASM 1 2743 #elif (LZO_CC_LLVM) 2744 # define LZO_CFG_NO_INLINE_ASM 1 2745 #endif 2746 #endif 2747 #if (LZO_CFG_NO_INLINE_ASM) 2748 # undef LZO_ASM_SYNTAX_MSC 2749 # undef LZO_ASM_SYNTAX_GNUC 2750 # undef __LZO_ASM_CLOBBER 2751 # undef __LZO_ASM_CLOBBER_LIST_CC 2752 # undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY 2753 # undef __LZO_ASM_CLOBBER_LIST_EMPTY 2754 #endif 2755 #ifndef LZO_CFG_NO_UNALIGNED 2756 #if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) 2757 # define LZO_CFG_NO_UNALIGNED 1 2758 #endif 2759 #endif 2760 #if (LZO_CFG_NO_UNALIGNED) 2761 # undef LZO_OPT_UNALIGNED16 2762 # undef LZO_OPT_UNALIGNED32 2763 # undef LZO_OPT_UNALIGNED64 2764 #endif 2765 #if defined(__LZO_INFOSTR_MM) 2766 #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) 2767 # define __LZO_INFOSTR_MM "" 2768 #elif defined(LZO_INFO_MM) 2769 # define __LZO_INFOSTR_MM "." LZO_INFO_MM 2770 #else 2771 # define __LZO_INFOSTR_MM "" 2772 #endif 2773 #if defined(__LZO_INFOSTR_PM) 2774 #elif defined(LZO_INFO_ABI_PM) 2775 # define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM 2776 #else 2777 # define __LZO_INFOSTR_PM "" 2778 #endif 2779 #if defined(__LZO_INFOSTR_ENDIAN) 2780 #elif defined(LZO_INFO_ABI_ENDIAN) 2781 # define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN 2782 #else 2783 # define __LZO_INFOSTR_ENDIAN "" 2784 #endif 2785 #if defined(__LZO_INFOSTR_OSNAME) 2786 #elif defined(LZO_INFO_OS_CONSOLE) 2787 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE 2788 #elif defined(LZO_INFO_OS_POSIX) 2789 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX 2790 #else 2791 # define __LZO_INFOSTR_OSNAME LZO_INFO_OS 2792 #endif 2793 #if defined(__LZO_INFOSTR_LIBC) 2794 #elif defined(LZO_INFO_LIBC) 2795 # define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC 2796 #else 2797 # define __LZO_INFOSTR_LIBC "" 2798 #endif 2799 #if defined(__LZO_INFOSTR_CCVER) 2800 #elif defined(LZO_INFO_CCVER) 2801 # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER 2802 #else 2803 # define __LZO_INFOSTR_CCVER "" 2804 #endif 2805 #define LZO_INFO_STRING \ 2806 LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ 2807 " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER 2808 #if !(LZO_CFG_SKIP_LZO_TYPES) 2809 #if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0)) 2810 # error "missing defines for sizes" 2811 #endif 2812 #if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0)) 2813 # error "missing defines for sizes" 2814 #endif 2815 #define LZO_TYPEOF_CHAR 1u 2816 #define LZO_TYPEOF_SHORT 2u 2817 #define LZO_TYPEOF_INT 3u 2818 #define LZO_TYPEOF_LONG 4u 2819 #define LZO_TYPEOF_LONG_LONG 5u 2820 #define LZO_TYPEOF___INT8 17u 2821 #define LZO_TYPEOF___INT16 18u 2822 #define LZO_TYPEOF___INT32 19u 2823 #define LZO_TYPEOF___INT64 20u 2824 #define LZO_TYPEOF___INT128 21u 2825 #define LZO_TYPEOF___INT256 22u 2826 #define LZO_TYPEOF___MODE_QI 33u 2827 #define LZO_TYPEOF___MODE_HI 34u 2828 #define LZO_TYPEOF___MODE_SI 35u 2829 #define LZO_TYPEOF___MODE_DI 36u 2830 #define LZO_TYPEOF___MODE_TI 37u 2831 #define LZO_TYPEOF_CHAR_P 129u 2832 #if !defined(lzo_llong_t) 2833 #if (LZO_SIZEOF_LONG_LONG+0 > 0) 2834 # if !(LZO_LANG_ASSEMBLER) 2835 __lzo_gnuc_extension__ typedef long long lzo_llong_t__; 2836 __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__; 2837 # endif 2838 # define lzo_llong_t lzo_llong_t__ 2839 # define lzo_ullong_t lzo_ullong_t__ 2840 #endif 2841 #endif 2842 #if !defined(lzo_int16e_t) 2843 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2) 2844 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T 2845 #endif 2846 #if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) 2847 # define lzo_int16e_t long 2848 # define lzo_uint16e_t unsigned long 2849 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG 2850 #elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) 2851 # define lzo_int16e_t int 2852 # define lzo_uint16e_t unsigned int 2853 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT 2854 #elif (LZO_SIZEOF_SHORT == 2) 2855 # define lzo_int16e_t short int 2856 # define lzo_uint16e_t unsigned short int 2857 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT 2858 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) 2859 # if !(LZO_LANG_ASSEMBLER) 2860 typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__))); 2861 typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__))); 2862 # endif 2863 # define lzo_int16e_t lzo_int16e_hi_t__ 2864 # define lzo_uint16e_t lzo_uint16e_hi_t__ 2865 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI 2866 #elif (LZO_SIZEOF___INT16 == 2) 2867 # define lzo_int16e_t __int16 2868 # define lzo_uint16e_t unsigned __int16 2869 # define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16 2870 #else 2871 #endif 2872 #endif 2873 #if defined(lzo_int16e_t) 2874 # define LZO_SIZEOF_LZO_INT16E_T 2 2875 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2) 2876 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T) 2877 #endif 2878 #if !defined(lzo_int32e_t) 2879 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4) 2880 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T 2881 #endif 2882 #if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) 2883 # define lzo_int32e_t long int 2884 # define lzo_uint32e_t unsigned long int 2885 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG 2886 #elif (LZO_SIZEOF_INT == 4) 2887 # define lzo_int32e_t int 2888 # define lzo_uint32e_t unsigned int 2889 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT 2890 #elif (LZO_SIZEOF_SHORT == 4) 2891 # define lzo_int32e_t short int 2892 # define lzo_uint32e_t unsigned short int 2893 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT 2894 #elif (LZO_SIZEOF_LONG_LONG == 4) 2895 # define lzo_int32e_t lzo_llong_t 2896 # define lzo_uint32e_t lzo_ullong_t 2897 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG 2898 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L) 2899 # if !(LZO_LANG_ASSEMBLER) 2900 typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); 2901 typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); 2902 # endif 2903 # define lzo_int32e_t lzo_int32e_si_t__ 2904 # define lzo_uint32e_t lzo_uint32e_si_t__ 2905 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI 2906 #elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L) 2907 # if !(LZO_LANG_ASSEMBLER) 2908 typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); 2909 typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); 2910 # endif 2911 # define lzo_int32e_t lzo_int32e_si_t__ 2912 # define lzo_uint32e_t lzo_uint32e_si_t__ 2913 # define LZO_INT32_C(c) (c##LL) 2914 # define LZO_UINT32_C(c) (c##ULL) 2915 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI 2916 #elif (LZO_SIZEOF___INT32 == 4) 2917 # define lzo_int32e_t __int32 2918 # define lzo_uint32e_t unsigned __int32 2919 # define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32 2920 #else 2921 #endif 2922 #endif 2923 #if defined(lzo_int32e_t) 2924 # define LZO_SIZEOF_LZO_INT32E_T 4 2925 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4) 2926 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T) 2927 #endif 2928 #if !defined(lzo_int64e_t) 2929 #if (LZO_SIZEOF___INT64 == 8) 2930 # if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T) 2931 # define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64 2932 # endif 2933 #endif 2934 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8) 2935 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T 2936 #endif 2937 #if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8) 2938 # undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T 2939 #endif 2940 #if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 2941 # define lzo_int64e_t int 2942 # define lzo_uint64e_t unsigned int 2943 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT 2944 #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) 2945 # define lzo_int64e_t long int 2946 # define lzo_uint64e_t unsigned long int 2947 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG 2948 #elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) 2949 # define lzo_int64e_t lzo_llong_t 2950 # define lzo_uint64e_t lzo_ullong_t 2951 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG 2952 # if (LZO_CC_BORLANDC) 2953 # define LZO_INT64_C(c) ((c) + 0ll) 2954 # define LZO_UINT64_C(c) ((c) + 0ull) 2955 # elif 0 2956 # define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL)) 2957 # define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL)) 2958 # else 2959 # define LZO_INT64_C(c) (c##LL) 2960 # define LZO_UINT64_C(c) (c##ULL) 2961 # endif 2962 #elif (LZO_SIZEOF___INT64 == 8) 2963 # define lzo_int64e_t __int64 2964 # define lzo_uint64e_t unsigned __int64 2965 # define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64 2966 # if (LZO_CC_BORLANDC) 2967 # define LZO_INT64_C(c) ((c) + 0i64) 2968 # define LZO_UINT64_C(c) ((c) + 0ui64) 2969 # else 2970 # define LZO_INT64_C(c) (c##i64) 2971 # define LZO_UINT64_C(c) (c##ui64) 2972 # endif 2973 #else 2974 #endif 2975 #endif 2976 #if defined(lzo_int64e_t) 2977 # define LZO_SIZEOF_LZO_INT64E_T 8 2978 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8) 2979 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T) 2980 #endif 2981 #if !defined(lzo_int32l_t) 2982 #if defined(lzo_int32e_t) 2983 # define lzo_int32l_t lzo_int32e_t 2984 # define lzo_uint32l_t lzo_uint32e_t 2985 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T 2986 # define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T 2987 #elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 2988 # define lzo_int32l_t int 2989 # define lzo_uint32l_t unsigned int 2990 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT 2991 # define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT 2992 #elif (LZO_SIZEOF_LONG >= 4) 2993 # define lzo_int32l_t long int 2994 # define lzo_uint32l_t unsigned long int 2995 # define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG 2996 # define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG 2997 #else 2998 # error "lzo_int32l_t" 2999 #endif 3000 #endif 3001 #if 1 3002 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4) 3003 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T) 3004 #endif 3005 #if !defined(lzo_int64l_t) 3006 #if defined(lzo_int64e_t) 3007 # define lzo_int64l_t lzo_int64e_t 3008 # define lzo_uint64l_t lzo_uint64e_t 3009 # define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T 3010 # define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T 3011 #else 3012 #endif 3013 #endif 3014 #if defined(lzo_int64l_t) 3015 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8) 3016 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T) 3017 #endif 3018 #if !defined(lzo_int32f_t) 3019 #if (LZO_SIZEOF_SIZE_T >= 8) 3020 # define lzo_int32f_t lzo_int64l_t 3021 # define lzo_uint32f_t lzo_uint64l_t 3022 # define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T 3023 # define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T 3024 #else 3025 # define lzo_int32f_t lzo_int32l_t 3026 # define lzo_uint32f_t lzo_uint32l_t 3027 # define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T 3028 # define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T 3029 #endif 3030 #endif 3031 #if 1 3032 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4) 3033 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T) 3034 #endif 3035 #if !defined(lzo_int64f_t) 3036 #if defined(lzo_int64l_t) 3037 # define lzo_int64f_t lzo_int64l_t 3038 # define lzo_uint64f_t lzo_uint64l_t 3039 # define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T 3040 # define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T 3041 #else 3042 #endif 3043 #endif 3044 #if defined(lzo_int64f_t) 3045 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8) 3046 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T) 3047 #endif 3048 #if !defined(lzo_intptr_t) 3049 #if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16)) 3050 # define __LZO_INTPTR_T_IS_POINTER 1 3051 # if !(LZO_LANG_ASSEMBLER) 3052 typedef char * lzo_intptr_t; 3053 typedef char * lzo_uintptr_t; 3054 # endif 3055 # define lzo_intptr_t lzo_intptr_t 3056 # define lzo_uintptr_t lzo_uintptr_t 3057 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P 3058 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P 3059 #elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4)) 3060 # if !(LZO_LANG_ASSEMBLER) 3061 typedef __w64 int lzo_intptr_t; 3062 typedef __w64 unsigned int lzo_uintptr_t; 3063 # endif 3064 # define lzo_intptr_t lzo_intptr_t 3065 # define lzo_uintptr_t lzo_uintptr_t 3066 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT 3067 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT 3068 #elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P) 3069 # define lzo_intptr_t short 3070 # define lzo_uintptr_t unsigned short 3071 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT 3072 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT 3073 #elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) 3074 # define lzo_intptr_t int 3075 # define lzo_uintptr_t unsigned int 3076 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT 3077 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT 3078 #elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P) 3079 # define lzo_intptr_t long 3080 # define lzo_uintptr_t unsigned long 3081 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG 3082 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG 3083 #elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P) 3084 # define lzo_intptr_t lzo_int64l_t 3085 # define lzo_uintptr_t lzo_uint64l_t 3086 # define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T 3087 # define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T 3088 #else 3089 # error "lzo_intptr_t" 3090 #endif 3091 #endif 3092 #if 1 3093 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *)) 3094 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)) 3095 #endif 3096 #if !defined(lzo_word_t) 3097 #if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0) 3098 #if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER) 3099 # define lzo_word_t lzo_uintptr_t 3100 # define lzo_sword_t lzo_intptr_t 3101 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T 3102 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T 3103 #elif (LZO_WORDSIZE == LZO_SIZEOF_LONG) 3104 # define lzo_word_t unsigned long 3105 # define lzo_sword_t long 3106 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG 3107 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG 3108 #elif (LZO_WORDSIZE == LZO_SIZEOF_INT) 3109 # define lzo_word_t unsigned int 3110 # define lzo_sword_t int 3111 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT 3112 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT 3113 #elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT) 3114 # define lzo_word_t unsigned short 3115 # define lzo_sword_t short 3116 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT 3117 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT 3118 #elif (LZO_WORDSIZE == 1) 3119 # define lzo_word_t unsigned char 3120 # define lzo_sword_t signed char 3121 # define LZO_SIZEOF_LZO_WORD_T 1 3122 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR 3123 #elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T) 3124 # define lzo_word_t lzo_uint64l_t 3125 # define lzo_sword_t lzo_int64l_t 3126 # define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T 3127 # define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T 3128 #elif (LZO_ARCH_SPU) && (LZO_CC_GNUC) 3129 #if 0 3130 # if !(LZO_LANG_ASSEMBLER) 3131 typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__))); 3132 typedef int lzo_sword_t __attribute__((__mode__(__V16QI__))); 3133 # endif 3134 # define lzo_word_t lzo_word_t 3135 # define lzo_sword_t lzo_sword_t 3136 # define LZO_SIZEOF_LZO_WORD_T 16 3137 # define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI 3138 #endif 3139 #else 3140 # error "lzo_word_t" 3141 #endif 3142 #endif 3143 #endif 3144 #if 1 && defined(lzo_word_t) 3145 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE) 3146 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE) 3147 #endif 3148 #if 1 3149 #define lzo_int8_t signed char 3150 #define lzo_uint8_t unsigned char 3151 #define LZO_SIZEOF_LZO_INT8_T 1 3152 #define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR 3153 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) 3154 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t)) 3155 #endif 3156 #if defined(lzo_int16e_t) 3157 #define lzo_int16_t lzo_int16e_t 3158 #define lzo_uint16_t lzo_uint16e_t 3159 #define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T 3160 #define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T 3161 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) 3162 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t)) 3163 #endif 3164 #if defined(lzo_int32e_t) 3165 #define lzo_int32_t lzo_int32e_t 3166 #define lzo_uint32_t lzo_uint32e_t 3167 #define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T 3168 #define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T 3169 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) 3170 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t)) 3171 #endif 3172 #if defined(lzo_int64e_t) 3173 #define lzo_int64_t lzo_int64e_t 3174 #define lzo_uint64_t lzo_uint64e_t 3175 #define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T 3176 #define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T 3177 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) 3178 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t)) 3179 #endif 3180 #if 1 3181 #define lzo_int_least32_t lzo_int32l_t 3182 #define lzo_uint_least32_t lzo_uint32l_t 3183 #define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T 3184 #define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T 3185 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4) 3186 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t)) 3187 #endif 3188 #if defined(lzo_int64l_t) 3189 #define lzo_int_least64_t lzo_int64l_t 3190 #define lzo_uint_least64_t lzo_uint64l_t 3191 #define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T 3192 #define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T 3193 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8) 3194 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t)) 3195 #endif 3196 #if 1 3197 #define lzo_int_fast32_t lzo_int32f_t 3198 #define lzo_uint_fast32_t lzo_uint32f_t 3199 #define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T 3200 #define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T 3201 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4) 3202 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t)) 3203 #endif 3204 #if defined(lzo_int64f_t) 3205 #define lzo_int_fast64_t lzo_int64f_t 3206 #define lzo_uint_fast64_t lzo_uint64f_t 3207 #define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T 3208 #define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T 3209 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8) 3210 LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t)) 3211 #endif 3212 #if !defined(LZO_INT16_C) 3213 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2) 3214 # define LZO_INT16_C(c) ((c) + 0) 3215 # define LZO_UINT16_C(c) ((c) + 0U) 3216 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2) 3217 # define LZO_INT16_C(c) ((c) + 0L) 3218 # define LZO_UINT16_C(c) ((c) + 0UL) 3219 # elif (LZO_SIZEOF_INT >= 2) 3220 # define LZO_INT16_C(c) (c) 3221 # define LZO_UINT16_C(c) (c##U) 3222 # elif (LZO_SIZEOF_LONG >= 2) 3223 # define LZO_INT16_C(c) (c##L) 3224 # define LZO_UINT16_C(c) (c##UL) 3225 # else 3226 # error "LZO_INT16_C" 3227 # endif 3228 #endif 3229 #if !defined(LZO_INT32_C) 3230 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4) 3231 # define LZO_INT32_C(c) ((c) + 0) 3232 # define LZO_UINT32_C(c) ((c) + 0U) 3233 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4) 3234 # define LZO_INT32_C(c) ((c) + 0L) 3235 # define LZO_UINT32_C(c) ((c) + 0UL) 3236 # elif (LZO_SIZEOF_INT >= 4) 3237 # define LZO_INT32_C(c) (c) 3238 # define LZO_UINT32_C(c) (c##U) 3239 # elif (LZO_SIZEOF_LONG >= 4) 3240 # define LZO_INT32_C(c) (c##L) 3241 # define LZO_UINT32_C(c) (c##UL) 3242 # elif (LZO_SIZEOF_LONG_LONG >= 4) 3243 # define LZO_INT32_C(c) (c##LL) 3244 # define LZO_UINT32_C(c) (c##ULL) 3245 # else 3246 # error "LZO_INT32_C" 3247 # endif 3248 #endif 3249 #if !defined(LZO_INT64_C) && defined(lzo_int64l_t) 3250 # if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8) 3251 # define LZO_INT64_C(c) ((c) + 0) 3252 # define LZO_UINT64_C(c) ((c) + 0U) 3253 # elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8) 3254 # define LZO_INT64_C(c) ((c) + 0L) 3255 # define LZO_UINT64_C(c) ((c) + 0UL) 3256 # elif (LZO_SIZEOF_INT >= 8) 3257 # define LZO_INT64_C(c) (c) 3258 # define LZO_UINT64_C(c) (c##U) 3259 # elif (LZO_SIZEOF_LONG >= 8) 3260 # define LZO_INT64_C(c) (c##L) 3261 # define LZO_UINT64_C(c) (c##UL) 3262 # else 3263 # error "LZO_INT64_C" 3264 # endif 3265 #endif 3266 #endif 3267 3268 #endif /* already included */ 3269 3270 /* vim:set ts=4 sw=4 et: */ 3271