1
/* lzodefs.h -- architecture, OS and compiler specific defines
3
This file is part of the LZO real-time data compression library.
5
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
6
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
7
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
8
Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
9
Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
10
Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
11
Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
12
Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
13
Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
14
Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
17
The LZO library is free software; you can redistribute it and/or
18
modify it under the terms of the GNU General Public License as
19
published by the Free Software Foundation; either version 2 of
20
the License, or (at your option) any later version.
22
The LZO library is distributed in the hope that it will be useful,
23
but WITHOUT ANY WARRANTY; without even the implied warranty of
24
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25
GNU General Public License for more details.
27
You should have received a copy of the GNU General Public License
28
along with the LZO library; see the file COPYING.
29
If not, write to the Free Software Foundation, Inc.,
30
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32
Markus F.X.J. Oberhumer
33
<markus@oberhumer.com>
34
http://www.oberhumer.com/opensource/lzo/
38
#ifndef __LZODEFS_H_INCLUDED
39
#define __LZODEFS_H_INCLUDED 1
41
#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
42
# define __CYGWIN__ __CYGWIN32__
44
#if defined(__IBMCPP__) && !defined(__IBMC__)
45
# define __IBMC__ __IBMCPP__
47
#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
48
# define __INTEL_COMPILER __ICL
50
#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
51
# define _ALL_SOURCE 1
53
#if defined(__GNUC__) && defined(__mips__) && defined(__R5900__)
54
# if !defined(__LONG_MAX__)
55
# define __LONG_MAX__ 9223372036854775807L
58
#if defined(__INTEL_COMPILER) && defined(__linux__)
59
# pragma warning(disable: 193)
61
#if defined(__KEIL__) && defined(__C166__)
62
# pragma warning disable = 322
63
#elif 0 && defined(__C251__)
64
# pragma warning disable = 322
66
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
67
# if (_MSC_VER >= 1300)
68
# pragma warning(disable: 4668)
71
#if 0 && defined(__WATCOMC__)
72
# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
73
# pragma warning 203 9
76
#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
80
#define LZO_0xffffL 0xfffful
81
#define LZO_0xffffffffL 0xfffffffful
83
#define LZO_0xffffL 65535ul
84
#define LZO_0xffffffffL 4294967295ul
86
#if (LZO_0xffffL == LZO_0xffffffffL)
87
# error "your preprocessor is broken 1"
89
#if (16ul * 16384ul != 262144ul)
90
# error "your preprocessor is broken 2"
93
#if (32767 >= 4294967295ul)
94
# error "your preprocessor is broken 3"
96
#if (65535u >= 4294967295ul)
97
# error "your preprocessor is broken 4"
100
#if (UINT_MAX == LZO_0xffffL)
101
#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
105
# if !defined(_MSDOS)
108
#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
109
# if (__VERSION == 520) && (MB_LEN_MAX == 1)
110
# if !defined(__AZTEC_C__)
111
# define __AZTEC_C__ __VERSION
113
# if !defined(__DOS__)
119
#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
120
# define ptrdiff_t long
121
# define _PTRDIFF_T_DEFINED
123
#if (UINT_MAX == LZO_0xffffL)
124
# undef __LZO_RENAME_A
125
# undef __LZO_RENAME_B
126
# if defined(__AZTEC_C__) && defined(__DOS__)
127
# define __LZO_RENAME_A 1
128
# elif defined(_MSC_VER) && defined(MSDOS)
129
# if (_MSC_VER < 600)
130
# define __LZO_RENAME_A 1
131
# elif (_MSC_VER < 700)
132
# define __LZO_RENAME_B 1
134
# elif defined(__TSC__) && defined(__OS2__)
135
# define __LZO_RENAME_A 1
136
# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
137
# define __LZO_RENAME_A 1
138
# elif defined(__PACIFIC__) && defined(DOS)
142
# if !defined(__near)
146
# if defined(__LZO_RENAME_A)
147
# if !defined(__cdecl)
148
# define __cdecl cdecl
153
# if !defined(__huge)
156
# if !defined(__near)
159
# if !defined(__pascal)
160
# define __pascal pascal
162
# if !defined(__huge)
165
# elif defined(__LZO_RENAME_B)
166
# if !defined(__cdecl)
167
# define __cdecl _cdecl
172
# if !defined(__huge)
173
# define __huge _huge
175
# if !defined(__near)
176
# define __near _near
178
# if !defined(__pascal)
179
# define __pascal _pascal
181
# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
182
# if !defined(__cdecl)
183
# define __cdecl cdecl
185
# if !defined(__pascal)
186
# define __pascal pascal
189
# undef __LZO_RENAME_A
190
# undef __LZO_RENAME_B
192
#if (UINT_MAX == LZO_0xffffL)
193
#if defined(__AZTEC_C__) && defined(__DOS__)
194
# define LZO_BROKEN_CDECL_ALT_SYNTAX 1
195
#elif defined(_MSC_VER) && defined(MSDOS)
196
# if (_MSC_VER < 600)
197
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
199
# if (_MSC_VER < 700)
200
# define LZO_BROKEN_INTEGRAL_PROMOTION 1
201
# define LZO_BROKEN_SIZEOF 1
203
#elif defined(__PACIFIC__) && defined(DOS)
204
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
205
#elif defined(__TURBOC__) && defined(__MSDOS__)
206
# if (__TURBOC__ < 0x0150)
207
# define LZO_BROKEN_CDECL_ALT_SYNTAX 1
208
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
209
# define LZO_BROKEN_INTEGRAL_PROMOTION 1
211
# if (__TURBOC__ < 0x0200)
212
# define LZO_BROKEN_SIZEOF 1
214
# if (__TURBOC__ < 0x0400) && defined(__cplusplus)
215
# define LZO_BROKEN_CDECL_ALT_SYNTAX 1
217
#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
218
# define LZO_BROKEN_CDECL_ALT_SYNTAX 1
219
# define LZO_BROKEN_SIZEOF 1
222
#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
223
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
225
#define LZO_CPP_STRINGIZE(x) #x
226
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
227
#define LZO_CPP_CONCAT2(a,b) a ## b
228
#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c
229
#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
230
#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
231
#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b)
232
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
233
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
234
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
235
#define __LZO_MASK_GEN(o,b) ((((o << ((b)-1)) - o) << 1) + o)
236
#if 1 && defined(__cplusplus)
237
# if !defined(__STDC_CONSTANT_MACROS)
238
# define __STDC_CONSTANT_MACROS 1
240
# if !defined(__STDC_LIMIT_MACROS)
241
# define __STDC_LIMIT_MACROS 1
244
#if defined(__cplusplus)
245
# define LZO_EXTERN_C extern "C"
247
# define LZO_EXTERN_C extern
249
#if !defined(__LZO_OS_OVERRIDE)
250
#if defined(LZO_OS_FREESTANDING)
251
# define LZO_INFO_OS "freestanding"
252
#elif defined(LZO_OS_EMBEDDED)
253
# define LZO_INFO_OS "embedded"
254
#elif defined(__CYGWIN__) && defined(__GNUC__)
255
# define LZO_OS_CYGWIN 1
256
# define LZO_INFO_OS "cygwin"
257
#elif defined(__EMX__) && defined(__GNUC__)
258
# define LZO_OS_EMX 1
259
# define LZO_INFO_OS "emx"
260
#elif defined(__BEOS__)
261
# define LZO_OS_BEOS 1
262
# define LZO_INFO_OS "beos"
263
#elif defined(__Lynx__)
264
# define LZO_OS_LYNXOS 1
265
# define LZO_INFO_OS "lynxos"
266
#elif defined(__OS400__)
267
# define LZO_OS_OS400 1
268
# define LZO_INFO_OS "os400"
269
#elif defined(__QNX__)
270
# define LZO_OS_QNX 1
271
# define LZO_INFO_OS "qnx"
272
#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
273
# define LZO_OS_DOS32 1
274
# define LZO_INFO_OS "dos32"
275
#elif defined(__BORLANDC__) && defined(__DPMI16__)
276
# define LZO_OS_DOS16 1
277
# define LZO_INFO_OS "dos16"
278
#elif defined(__ZTC__) && defined(DOS386)
279
# define LZO_OS_DOS32 1
280
# define LZO_INFO_OS "dos32"
281
#elif defined(__OS2__) || defined(__OS2V2__)
282
# if (UINT_MAX == LZO_0xffffL)
283
# define LZO_OS_OS216 1
284
# define LZO_INFO_OS "os216"
285
# elif (UINT_MAX == LZO_0xffffffffL)
286
# define LZO_OS_OS2 1
287
# define LZO_INFO_OS "os2"
289
# error "check your limits.h header"
291
#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
292
# define LZO_OS_WIN64 1
293
# define LZO_INFO_OS "win64"
294
#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
295
# define LZO_OS_WIN32 1
296
# define LZO_INFO_OS "win32"
297
#elif defined(__MWERKS__) && defined(__INTEL__)
298
# define LZO_OS_WIN32 1
299
# define LZO_INFO_OS "win32"
300
#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
301
# if (UINT_MAX == LZO_0xffffL)
302
# define LZO_OS_WIN16 1
303
# define LZO_INFO_OS "win16"
304
# elif (UINT_MAX == LZO_0xffffffffL)
305
# define LZO_OS_WIN32 1
306
# define LZO_INFO_OS "win32"
308
# error "check your limits.h header"
310
#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
311
# if (UINT_MAX == LZO_0xffffL)
312
# define LZO_OS_DOS16 1
313
# define LZO_INFO_OS "dos16"
314
# elif (UINT_MAX == LZO_0xffffffffL)
315
# define LZO_OS_DOS32 1
316
# define LZO_INFO_OS "dos32"
318
# error "check your limits.h header"
320
#elif defined(__WATCOMC__)
321
# if defined(__NT__) && (UINT_MAX == LZO_0xffffL)
322
# define LZO_OS_DOS16 1
323
# define LZO_INFO_OS "dos16"
324
# elif defined(__NT__) && (__WATCOMC__ < 1100)
325
# define LZO_OS_WIN32 1
326
# define LZO_INFO_OS "win32"
328
# error "please specify a target using the -bt compiler option"
330
#elif defined(__palmos__)
331
# define LZO_OS_PALMOS 1
332
# define LZO_INFO_OS "palmos"
333
#elif defined(__TOS__) || defined(__atarist__)
334
# define LZO_OS_TOS 1
335
# define LZO_INFO_OS "tos"
336
#elif defined(macintosh) && !defined(__ppc__)
337
# define LZO_OS_MACCLASSIC 1
338
# define LZO_INFO_OS "macclassic"
340
# define LZO_OS_VMS 1
341
# define LZO_INFO_OS "vms"
342
#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
343
# define LZO_OS_CONSOLE 1
344
# define LZO_OS_CONSOLE_PS2 1
345
# define LZO_INFO_OS "console"
346
# define LZO_INFO_OS_CONSOLE "ps2"
347
#elif (defined(__mips__) && defined(__psp__))
348
# define LZO_OS_CONSOLE 1
349
# define LZO_OS_CONSOLE_PSP 1
350
# define LZO_INFO_OS "console"
351
# define LZO_INFO_OS_CONSOLE "psp"
353
# define LZO_OS_POSIX 1
354
# define LZO_INFO_OS "posix"
357
# if defined(_AIX) || defined(__AIX__) || defined(__aix__)
358
# define LZO_OS_POSIX_AIX 1
359
# define LZO_INFO_OS_POSIX "aix"
360
# elif defined(__FreeBSD__)
361
# define LZO_OS_POSIX_FREEBSD 1
362
# define LZO_INFO_OS_POSIX "freebsd"
363
# elif defined(__hpux__) || defined(__hpux)
364
# define LZO_OS_POSIX_HPUX 1
365
# define LZO_INFO_OS_POSIX "hpux"
366
# elif defined(__INTERIX)
367
# define LZO_OS_POSIX_INTERIX 1
368
# define LZO_INFO_OS_POSIX "interix"
369
# elif defined(__IRIX__) || defined(__irix__)
370
# define LZO_OS_POSIX_IRIX 1
371
# define LZO_INFO_OS_POSIX "irix"
372
# elif defined(__linux__) || defined(__linux)
373
# define LZO_OS_POSIX_LINUX 1
374
# define LZO_INFO_OS_POSIX "linux"
375
# elif defined(__APPLE__) || defined(__MACOS__)
376
# define LZO_OS_POSIX_MACOSX 1
377
# define LZO_INFO_OS_POSIX "macosx"
378
# elif defined(__NetBSD__)
379
# define LZO_OS_POSIX_NETBSD 1
380
# define LZO_INFO_OS_POSIX "netbsd"
381
# elif defined(__OpenBSD__)
382
# define LZO_OS_POSIX_OPENBSD 1
383
# define LZO_INFO_OS_POSIX "openbsd"
384
# elif defined(__osf__)
385
# define LZO_OS_POSIX_OSF 1
386
# define LZO_INFO_OS_POSIX "osf"
387
# elif defined(__solaris__) || defined(__sun)
388
# if defined(__SVR4) || defined(__svr4__)
389
# define LZO_OS_POSIX_SOLARIS 1
390
# define LZO_INFO_OS_POSIX "solaris"
392
# define LZO_OS_POSIX_SUNOS 1
393
# define LZO_INFO_OS_POSIX "sunos"
395
# elif defined(__ultrix__) || defined(__ultrix)
396
# define LZO_OS_POSIX_ULTRIX 1
397
# define LZO_INFO_OS_POSIX "ultrix"
399
# define LZO_OS_POSIX_UNKNOWN 1
400
# define LZO_INFO_OS_POSIX "unknown"
404
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
405
# if (UINT_MAX != LZO_0xffffL)
406
# error "this should not happen"
408
# if (ULONG_MAX != LZO_0xffffffffL)
409
# error "this should not happen"
412
#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
413
# if (UINT_MAX != LZO_0xffffffffL)
414
# error "this should not happen"
416
# if (ULONG_MAX != LZO_0xffffffffL)
417
# error "this should not happen"
420
#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
421
# define LZO_CC_CILLY 1
422
# define LZO_INFO_CC "Cilly"
423
# if defined(__CILLY__)
424
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__CILLY__)
426
# define LZO_INFO_CCVER "unknown"
428
#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
429
# define LZO_CC_SDCC 1
430
# define LZO_INFO_CC "sdcc"
431
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(SDCC)
432
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
433
# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
434
# define LZO_INFO_CC "Pathscale C"
435
# define LZO_INFO_CCVER __PATHSCALE__
436
#elif defined(__INTEL_COMPILER)
437
# define LZO_CC_INTELC 1
438
# define LZO_INFO_CC "Intel C"
439
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__INTEL_COMPILER)
440
#elif defined(__POCC__) && defined(_WIN32)
441
# define LZO_CC_PELLESC 1
442
# define LZO_INFO_CC "Pelles C"
443
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__POCC__)
444
#elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__)
445
# define LZO_CC_LLVM 1
446
# define LZO_INFO_CC "llvm-gcc"
447
# define LZO_INFO_CCVER __VERSION__
448
#elif defined(__GNUC__) && defined(__VERSION__)
449
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
450
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
451
# elif defined(__GNUC_MINOR__)
452
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
454
# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
456
# define LZO_INFO_CC "gcc"
457
# define LZO_INFO_CCVER __VERSION__
458
#elif defined(__AZTEC_C__)
459
# define LZO_CC_AZTECC 1
460
# define LZO_INFO_CC "Aztec C"
461
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__AZTEC_C__)
462
#elif defined(__BORLANDC__)
463
# define LZO_CC_BORLANDC 1
464
# define LZO_INFO_CC "Borland C"
465
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__BORLANDC__)
466
#elif defined(__DMC__) && defined(__SC__)
467
# define LZO_CC_DMC 1
468
# define LZO_INFO_CC "Digital Mars C"
469
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DMC__)
470
#elif defined(__DECC)
471
# define LZO_CC_DECC 1
472
# define LZO_INFO_CC "DEC C"
473
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DECC)
474
#elif defined(__HIGHC__)
475
# define LZO_CC_HIGHC 1
476
# define LZO_INFO_CC "MetaWare High C"
477
# define LZO_INFO_CCVER "unknown"
478
#elif defined(__IBMC__)
479
# define LZO_CC_IBMC 1
480
# define LZO_INFO_CC "IBM C"
481
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__IBMC__)
482
#elif defined(__KEIL__) && defined(__C166__)
483
# define LZO_CC_KEILC 1
484
# define LZO_INFO_CC "Keil C"
485
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__C166__)
486
#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
487
# define LZO_CC_LCCWIN32 1
488
# define LZO_INFO_CC "lcc-win32"
489
# define LZO_INFO_CCVER "unknown"
490
#elif defined(__LCC__)
491
# define LZO_CC_LCC 1
492
# define LZO_INFO_CC "lcc"
493
# if defined(__LCC_VERSION__)
494
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__LCC_VERSION__)
496
# define LZO_INFO_CCVER "unknown"
498
#elif defined(_MSC_VER)
499
# define LZO_CC_MSC 1
500
# define LZO_INFO_CC "Microsoft C"
501
# if defined(_MSC_FULL_VER)
502
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER) "." LZO_CPP_MACRO_EXPAND(_MSC_FULL_VER)
504
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER)
506
#elif defined(__MWERKS__)
507
# define LZO_CC_MWERKS 1
508
# define LZO_INFO_CC "Metrowerks C"
509
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__MWERKS__)
510
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
511
# define LZO_CC_NDPC 1
512
# define LZO_INFO_CC "Microway NDP C"
513
# define LZO_INFO_CCVER "unknown"
514
#elif defined(__PACIFIC__)
515
# define LZO_CC_PACIFICC 1
516
# define LZO_INFO_CC "Pacific C"
517
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PACIFIC__)
518
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
519
# define LZO_CC_PGI 1
520
# define LZO_INFO_CC "Portland Group PGI C"
521
# define LZO_INFO_CCVER "unknown"
522
#elif defined(__PUREC__) && defined(__TOS__)
523
# define LZO_CC_PUREC 1
524
# define LZO_INFO_CC "Pure C"
525
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PUREC__)
526
#elif defined(__SC__) && defined(__ZTC__)
527
# define LZO_CC_SYMANTECC 1
528
# define LZO_INFO_CC "Symantec C"
529
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__SC__)
530
#elif defined(__SUNPRO_C)
531
# define LZO_CC_SUNPROC 1
532
# define LZO_INFO_CC "Sun C"
533
# define LZO_INFO_CCVER "unknown"
534
#elif defined(__TINYC__)
535
# define LZO_CC_TINYC 1
536
# define LZO_INFO_CC "Tiny C"
537
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TINYC__)
538
#elif defined(__TSC__)
539
# define LZO_CC_TOPSPEEDC 1
540
# define LZO_INFO_CC "TopSpeed C"
541
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TSC__)
542
#elif defined(__WATCOMC__)
543
# define LZO_CC_WATCOMC 1
544
# define LZO_INFO_CC "Watcom C"
545
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__WATCOMC__)
546
#elif defined(__TURBOC__)
547
# define LZO_CC_TURBOC 1
548
# define LZO_INFO_CC "Turbo C"
549
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TURBOC__)
550
#elif defined(__ZTC__)
551
# define LZO_CC_ZORTECHC 1
552
# define LZO_INFO_CC "Zortech C"
553
# if (__ZTC__ == 0x310)
554
# define LZO_INFO_CCVER "0x310"
556
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__ZTC__)
559
# define LZO_CC_UNKNOWN 1
560
# define LZO_INFO_CC "unknown"
561
# define LZO_INFO_CCVER "unknown"
563
#if (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
566
#if !defined(__LZO_ARCH_OVERRIDE)
567
#if defined(LZO_ARCH_GENERIC)
568
# define LZO_INFO_ARCH "generic"
569
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
570
# define LZO_ARCH_I086 1
571
# define LZO_ARCH_IA16 1
572
# define LZO_INFO_ARCH "i086"
573
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
574
# define LZO_ARCH_ALPHA 1
575
# define LZO_INFO_ARCH "alpha"
576
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
577
# define LZO_ARCH_AMD64 1
578
# define LZO_INFO_ARCH "amd64"
579
#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
580
# define LZO_ARCH_ARM 1
581
# define LZO_ARCH_ARM_THUMB 1
582
# define LZO_INFO_ARCH "arm_thumb"
583
#elif defined(__arm__) || defined(_M_ARM)
584
# define LZO_ARCH_ARM 1
585
# define LZO_INFO_ARCH "arm"
586
#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
587
# define LZO_ARCH_AVR 1
588
# define LZO_INFO_ARCH "avr"
589
#elif defined(__bfin__)
590
# define LZO_ARCH_BLACKFIN 1
591
# define LZO_INFO_ARCH "blackfin"
592
#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
593
# define LZO_ARCH_C166 1
594
# define LZO_INFO_ARCH "c166"
595
#elif defined(__cris__)
596
# define LZO_ARCH_CRIS 1
597
# define LZO_INFO_ARCH "cris"
598
#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
599
# define LZO_ARCH_H8300 1
600
# define LZO_INFO_ARCH "h8300"
601
#elif defined(__hppa__) || defined(__hppa)
602
# define LZO_ARCH_HPPA 1
603
# define LZO_INFO_ARCH "hppa"
604
#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
605
# define LZO_ARCH_I386 1
606
# define LZO_ARCH_IA32 1
607
# define LZO_INFO_ARCH "i386"
608
#elif (LZO_CC_ZORTECHC && defined(__I86__))
609
# define LZO_ARCH_I386 1
610
# define LZO_ARCH_IA32 1
611
# define LZO_INFO_ARCH "i386"
612
#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386)
613
# define LZO_ARCH_I386 1
614
# define LZO_ARCH_IA32 1
615
# define LZO_INFO_ARCH "i386"
616
#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
617
# define LZO_ARCH_IA64 1
618
# define LZO_INFO_ARCH "ia64"
619
#elif defined(__m32r__)
620
# define LZO_ARCH_M32R 1
621
# define LZO_INFO_ARCH "m32r"
622
#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(_M_M68K)
623
# define LZO_ARCH_M68K 1
624
# define LZO_INFO_ARCH "m68k"
625
#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
626
# define LZO_ARCH_MCS251 1
627
# define LZO_INFO_ARCH "mcs251"
628
#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
629
# define LZO_ARCH_MCS51 1
630
# define LZO_INFO_ARCH "mcs51"
631
#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
632
# define LZO_ARCH_MIPS 1
633
# define LZO_INFO_ARCH "mips"
634
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC)
635
# define LZO_ARCH_POWERPC 1
636
# define LZO_INFO_ARCH "powerpc"
637
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
638
# define LZO_ARCH_S390 1
639
# define LZO_INFO_ARCH "s390"
640
#elif defined(__sh__) || defined(_M_SH)
641
# define LZO_ARCH_SH 1
642
# define LZO_INFO_ARCH "sh"
643
#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
644
# define LZO_ARCH_SPARC 1
645
# define LZO_INFO_ARCH "sparc"
646
#elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
647
# define LZO_ARCH_Z80 1
648
# define LZO_INFO_ARCH "z80"
650
# define LZO_ARCH_UNKNOWN 1
651
# define LZO_INFO_ARCH "unknown"
654
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
655
# error "FIXME - missing define for CPU architecture"
657
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
658
# error "FIXME - missing WIN32 define for CPU architecture"
660
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
661
# error "FIXME - missing WIN64 define for CPU architecture"
663
#if (LZO_OS_OS216 || LZO_OS_WIN16)
664
# define LZO_ARCH_I086PM 1
665
# define LZO_ARCH_IA16PM 1
666
#elif 1 && (LZO_OS_DOS16 && defined(BLX286))
667
# define LZO_ARCH_I086PM 1
668
# define LZO_ARCH_IA16PM 1
669
#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
670
# define LZO_ARCH_I086PM 1
671
# define LZO_ARCH_IA16PM 1
672
#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
673
# define LZO_ARCH_I086PM 1
674
# define LZO_ARCH_IA16PM 1
676
#if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM)
677
# error "this should not happen"
679
#if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086)
680
# error "this should not happen"
683
# if (UINT_MAX != LZO_0xffffL)
684
# error "this should not happen"
686
# if (ULONG_MAX != LZO_0xffffffffL)
687
# error "this should not happen"
691
# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
692
# error "this should not happen"
694
# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
695
# error "this should not happen"
697
# if (ULONG_MAX != LZO_0xffffffffL)
698
# error "this should not happen"
701
#if !defined(__LZO_MM_OVERRIDE)
702
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
703
#if (UINT_MAX != LZO_0xffffL)
704
# error "this should not happen"
706
#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
707
# define LZO_MM_TINY 1
708
#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
709
# define LZO_MM_HUGE 1
710
#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
711
# define LZO_MM_SMALL 1
712
#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
713
# define LZO_MM_MEDIUM 1
714
#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
715
# define LZO_MM_COMPACT 1
716
#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
717
# define LZO_MM_LARGE 1
718
#elif (LZO_CC_AZTECC)
719
# if defined(_LARGE_CODE) && defined(_LARGE_DATA)
720
# define LZO_MM_LARGE 1
721
# elif defined(_LARGE_CODE)
722
# define LZO_MM_MEDIUM 1
723
# elif defined(_LARGE_DATA)
724
# define LZO_MM_COMPACT 1
726
# define LZO_MM_SMALL 1
728
#elif (LZO_CC_ZORTECHC && defined(__VCM__))
729
# define LZO_MM_LARGE 1
731
# error "unknown memory model"
733
#define LZO_HAVE_MM_HUGE_PTR 1
734
#define LZO_HAVE_MM_HUGE_ARRAY 1
736
# undef LZO_HAVE_MM_HUGE_ARRAY
738
#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
739
# undef LZO_HAVE_MM_HUGE_PTR
740
# undef LZO_HAVE_MM_HUGE_ARRAY
741
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
742
# undef LZO_HAVE_MM_HUGE_ARRAY
743
#elif (LZO_CC_MSC && defined(_QC))
744
# undef LZO_HAVE_MM_HUGE_ARRAY
745
# if (_MSC_VER < 600)
746
# undef LZO_HAVE_MM_HUGE_PTR
748
#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
749
# undef LZO_HAVE_MM_HUGE_ARRAY
751
#if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR)
753
# error "this should not happen"
754
# elif (LZO_CC_ZORTECHC)
756
# error "this should not happen"
762
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
763
extern void __near __cdecl _AHSHIFT(void);
764
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
765
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
766
extern void __near __cdecl _AHSHIFT(void);
767
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
768
#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
769
extern void __near __cdecl _AHSHIFT(void);
770
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
771
#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295))
772
extern void __near __cdecl _AHSHIFT(void);
773
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
774
#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
775
# define LZO_MM_AHSHIFT 12
776
#elif (LZO_CC_WATCOMC)
777
extern unsigned char _HShift;
778
# define LZO_MM_AHSHIFT ((unsigned) _HShift)
780
# error "FIXME - implement LZO_MM_AHSHIFT"
785
#elif (LZO_ARCH_C166)
786
#if !defined(__MODEL__)
787
# error "FIXME - C166 __MODEL__"
788
#elif ((__MODEL__) == 0)
789
# define LZO_MM_SMALL 1
790
#elif ((__MODEL__) == 1)
791
# define LZO_MM_SMALL 1
792
#elif ((__MODEL__) == 2)
793
# define LZO_MM_LARGE 1
794
#elif ((__MODEL__) == 3)
795
# define LZO_MM_TINY 1
796
#elif ((__MODEL__) == 4)
797
# define LZO_MM_XTINY 1
798
#elif ((__MODEL__) == 5)
799
# define LZO_MM_XSMALL 1
801
# error "FIXME - C166 __MODEL__"
803
#elif (LZO_ARCH_MCS251)
804
#if !defined(__MODEL__)
805
# error "FIXME - MCS251 __MODEL__"
806
#elif ((__MODEL__) == 0)
807
# define LZO_MM_SMALL 1
808
#elif ((__MODEL__) == 2)
809
# define LZO_MM_LARGE 1
810
#elif ((__MODEL__) == 3)
811
# define LZO_MM_TINY 1
812
#elif ((__MODEL__) == 4)
813
# define LZO_MM_XTINY 1
814
#elif ((__MODEL__) == 5)
815
# define LZO_MM_XSMALL 1
817
# error "FIXME - MCS251 __MODEL__"
819
#elif (LZO_ARCH_MCS51)
820
#if !defined(__MODEL__)
821
# error "FIXME - MCS51 __MODEL__"
822
#elif ((__MODEL__) == 1)
823
# define LZO_MM_SMALL 1
824
#elif ((__MODEL__) == 2)
825
# define LZO_MM_LARGE 1
826
#elif ((__MODEL__) == 3)
827
# define LZO_MM_TINY 1
828
#elif ((__MODEL__) == 4)
829
# define LZO_MM_XTINY 1
830
#elif ((__MODEL__) == 5)
831
# define LZO_MM_XSMALL 1
833
# error "FIXME - MCS51 __MODEL__"
836
# define LZO_MM_FLAT 1
839
# define LZO_INFO_MM "flat"
841
# define LZO_INFO_MM "tiny"
843
# define LZO_INFO_MM "small"
844
#elif (LZO_MM_MEDIUM)
845
# define LZO_INFO_MM "medium"
846
#elif (LZO_MM_COMPACT)
847
# define LZO_INFO_MM "compact"
849
# define LZO_INFO_MM "large"
851
# define LZO_INFO_MM "huge"
853
# error "unknown memory model"
856
#if defined(SIZEOF_SHORT)
857
# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
859
#if defined(SIZEOF_INT)
860
# define LZO_SIZEOF_INT (SIZEOF_INT)
862
#if defined(SIZEOF_LONG)
863
# define LZO_SIZEOF_LONG (SIZEOF_LONG)
865
#if defined(SIZEOF_LONG_LONG)
866
# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
868
#if defined(SIZEOF___INT16)
869
# define LZO_SIZEOF___INT16 (SIZEOF___INT16)
871
#if defined(SIZEOF___INT32)
872
# define LZO_SIZEOF___INT32 (SIZEOF___INT32)
874
#if defined(SIZEOF___INT64)
875
# define LZO_SIZEOF___INT64 (SIZEOF___INT64)
877
#if defined(SIZEOF_VOID_P)
878
# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
880
#if defined(SIZEOF_SIZE_T)
881
# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
883
#if defined(SIZEOF_PTRDIFF_T)
884
# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
886
#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
887
#if !defined(LZO_SIZEOF_SHORT)
888
# if (USHRT_MAX == LZO_0xffffL)
889
# define LZO_SIZEOF_SHORT 2
890
# elif (__LZO_LSR(USHRT_MAX,7) == 1)
891
# define LZO_SIZEOF_SHORT 1
892
# elif (__LZO_LSR(USHRT_MAX,15) == 1)
893
# define LZO_SIZEOF_SHORT 2
894
# elif (__LZO_LSR(USHRT_MAX,31) == 1)
895
# define LZO_SIZEOF_SHORT 4
896
# elif (__LZO_LSR(USHRT_MAX,63) == 1)
897
# define LZO_SIZEOF_SHORT 8
898
# elif (__LZO_LSR(USHRT_MAX,127) == 1)
899
# define LZO_SIZEOF_SHORT 16
901
# error "LZO_SIZEOF_SHORT"
904
#if !defined(LZO_SIZEOF_INT)
905
# if (UINT_MAX == LZO_0xffffL)
906
# define LZO_SIZEOF_INT 2
907
# elif (UINT_MAX == LZO_0xffffffffL)
908
# define LZO_SIZEOF_INT 4
909
# elif (__LZO_LSR(UINT_MAX,7) == 1)
910
# define LZO_SIZEOF_INT 1
911
# elif (__LZO_LSR(UINT_MAX,15) == 1)
912
# define LZO_SIZEOF_INT 2
913
# elif (__LZO_LSR(UINT_MAX,31) == 1)
914
# define LZO_SIZEOF_INT 4
915
# elif (__LZO_LSR(UINT_MAX,63) == 1)
916
# define LZO_SIZEOF_INT 8
917
# elif (__LZO_LSR(UINT_MAX,127) == 1)
918
# define LZO_SIZEOF_INT 16
920
# error "LZO_SIZEOF_INT"
923
#if !defined(LZO_SIZEOF_LONG)
924
# if (ULONG_MAX == LZO_0xffffffffL)
925
# define LZO_SIZEOF_LONG 4
926
# elif (__LZO_LSR(ULONG_MAX,7) == 1)
927
# define LZO_SIZEOF_LONG 1
928
# elif (__LZO_LSR(ULONG_MAX,15) == 1)
929
# define LZO_SIZEOF_LONG 2
930
# elif (__LZO_LSR(ULONG_MAX,31) == 1)
931
# define LZO_SIZEOF_LONG 4
932
# elif (__LZO_LSR(ULONG_MAX,63) == 1)
933
# define LZO_SIZEOF_LONG 8
934
# elif (__LZO_LSR(ULONG_MAX,127) == 1)
935
# define LZO_SIZEOF_LONG 16
937
# error "LZO_SIZEOF_LONG"
940
#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
941
#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
942
# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
943
# if (LZO_CC_GNUC >= 0x030300ul)
944
# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
945
# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
951
#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
952
#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
953
#if (LZO_ARCH_I086 && LZO_CC_DMC)
954
#elif (LZO_CC_CILLY) && defined(__GNUC__)
955
# define LZO_SIZEOF_LONG_LONG 8
956
#elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
957
# define LZO_SIZEOF_LONG_LONG 8
958
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64) && LZO_CC_MSC && (_MSC_VER >= 1400))
959
# define LZO_SIZEOF_LONG_LONG 8
961
# define LZO_SIZEOF___INT64 8
962
#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
963
# define LZO_SIZEOF_LONG_LONG 8
964
#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
965
# define LZO_SIZEOF_LONG_LONG 8
966
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
967
# define LZO_SIZEOF_LONG_LONG 8
968
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI))
969
# define LZO_SIZEOF_LONG_LONG 8
970
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
971
# define LZO_SIZEOF___INT64 8
972
#elif (LZO_OS_WIN32 && (LZO_CC_MSC))
973
# define LZO_SIZEOF___INT64 8
974
#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
975
# define LZO_SIZEOF___INT64 8
976
#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
977
# define LZO_SIZEOF___INT64 8
978
#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
979
# define LZO_SIZEOF___INT64 8
980
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
981
# define LZO_SIZEOF_LONG_LONG 8
982
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
983
# define LZO_SIZEOF_LONG_LONG 8
984
#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
985
#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
986
# define LZO_SIZEOF_LONG_LONG 8
990
#if defined(__cplusplus) && defined(LZO_CC_GNUC)
991
# if (LZO_CC_GNUC < 0x020800ul)
992
# undef LZO_SIZEOF_LONG_LONG
995
#if !defined(LZO_SIZEOF_VOID_P)
997
# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
998
# define LZO_SIZEOF_VOID_P 2
999
# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
1000
# define LZO_SIZEOF_VOID_P 4
1004
#elif (LZO_ARCH_AVR || LZO_ARCH_C166 || LZO_ARCH_I086 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_Z80)
1005
# define LZO_SIZEOF_VOID_P 2
1006
#elif (LZO_ARCH_H8300)
1007
# if defined(__NORMAL_MODE__)
1008
# define LZO_SIZEOF_VOID_P 2
1009
# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
1010
# define LZO_SIZEOF_VOID_P 4
1012
# define LZO_SIZEOF_VOID_P 2
1014
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
1015
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
1016
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
1018
#elif (LZO_OS_CONSOLE_PS2)
1019
# define LZO_SIZEOF_VOID_P 4
1020
#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
1021
# define LZO_SIZEOF_VOID_P 4
1022
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
1023
# define LZO_SIZEOF_VOID_P 8
1024
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
1025
# define LZO_SIZEOF_VOID_P 8
1026
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
1027
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
1028
#elif (LZO_OS_OS400)
1029
# define LZO_SIZEOF_VOID_P 16
1030
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
1031
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
1032
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
1033
# define LZO_SIZEOF_VOID_P 8
1034
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
1035
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
1037
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
1040
#if !defined(LZO_SIZEOF_SIZE_T)
1042
# define LZO_SIZEOF_SIZE_T 2
1044
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
1047
#if !defined(LZO_SIZEOF_PTRDIFF_T)
1049
# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
1050
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
1051
# elif (LZO_MM_COMPACT || LZO_MM_LARGE)
1052
# if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
1053
# define LZO_SIZEOF_PTRDIFF_T 4
1055
# define LZO_SIZEOF_PTRDIFF_T 2
1061
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
1064
#if !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) && !defined(LZO_ABI_NEUTRAL_ENDIAN)
1065
#if (LZO_ARCH_AMD64 || LZO_ARCH_I086 || LZO_ARCH_I386)
1066
# define LZO_ABI_LITTLE_ENDIAN 1
1067
#elif (LZO_ARCH_M68K)
1068
# define LZO_ABI_BIG_ENDIAN 1
1069
#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
1070
# define LZO_ABI_BIG_ENDIAN 1
1071
#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
1072
# define LZO_ABI_LITTLE_ENDIAN 1
1075
#if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN)
1076
# error "this should not happen"
1078
#if defined(LZO_ABI_BIG_ENDIAN)
1079
# define LZO_INFO_ABI_ENDIAN "be"
1080
#elif defined(LZO_ABI_LITTLE_ENDIAN)
1081
# define LZO_INFO_ABI_ENDIAN "le"
1082
#elif defined(LZO_ABI_NEUTRAL_ENDIAN)
1083
# define LZO_INFO_ABI_ENDIAN "neutral"
1085
#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
1086
# define LZO_ABI_I8LP16 1
1087
# define LZO_INFO_ABI_PM "i8lp16"
1088
#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
1089
# define LZO_ABI_ILP16 1
1090
# define LZO_INFO_ABI_PM "ilp16"
1091
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
1092
# define LZO_ABI_ILP32 1
1093
# define LZO_INFO_ABI_PM "ilp32"
1094
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
1095
# define LZO_ABI_LLP64 1
1096
# define LZO_INFO_ABI_PM "llp64"
1097
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
1098
# define LZO_ABI_LP64 1
1099
# define LZO_INFO_ABI_PM "lp64"
1100
#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
1101
# define LZO_ABI_ILP64 1
1102
# define LZO_INFO_ABI_PM "ilp64"
1103
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
1104
# define LZO_ABI_IP32L64 1
1105
# define LZO_INFO_ABI_PM "ip32l64"
1107
#if !defined(__LZO_LIBC_OVERRIDE)
1108
#if defined(LZO_LIBC_NAKED)
1109
# define LZO_INFO_LIBC "naked"
1110
#elif defined(LZO_LIBC_FREESTANDING)
1111
# define LZO_INFO_LIBC "freestanding"
1112
#elif defined(LZO_LIBC_MOSTLY_FREESTANDING)
1113
# define LZO_INFO_LIBC "mfreestanding"
1114
#elif defined(LZO_LIBC_ISOC90)
1115
# define LZO_INFO_LIBC "isoc90"
1116
#elif defined(LZO_LIBC_ISOC99)
1117
# define LZO_INFO_LIBC "isoc99"
1118
#elif defined(__dietlibc__)
1119
# define LZO_LIBC_DIETLIBC 1
1120
# define LZO_INFO_LIBC "dietlibc"
1121
#elif defined(_NEWLIB_VERSION)
1122
# define LZO_LIBC_NEWLIB 1
1123
# define LZO_INFO_LIBC "newlib"
1124
#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
1125
# if defined(__UCLIBC_SUBLEVEL__)
1126
# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
1128
# define LZO_LIBC_UCLIBC 0x00090bL
1130
# define LZO_INFO_LIBC "uclibc"
1131
#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
1132
# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
1133
# define LZO_INFO_LIBC "glibc"
1134
#elif (LZO_CC_MWERKS) && defined(__MSL__)
1135
# define LZO_LIBC_MSL __MSL__
1136
# define LZO_INFO_LIBC "msl"
1138
# define LZO_LIBC_DEFAULT 1
1139
# define LZO_INFO_LIBC "default"
1142
#if (LZO_CC_GNUC >= 0x020800ul)
1143
# define __lzo_gnuc_extension__ __extension__
1144
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1145
# define __lzo_gnuc_extension__ __extension__
1147
# define __lzo_gnuc_extension__
1149
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
1150
# define lzo_alignof(e) __alignof__(e)
1151
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
1152
# define lzo_alignof(e) __alignof__(e)
1153
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
1154
# define lzo_alignof(e) __alignof(e)
1156
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
1157
#elif defined(__cplusplus)
1158
# define __lzo_inline inline
1159
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
1160
# define __lzo_inline __inline
1161
#elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
1162
# define __lzo_inline __inline__
1164
# define __lzo_inline __inline
1165
#elif (LZO_CC_INTELC)
1166
# define __lzo_inline __inline
1167
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
1168
# define __lzo_inline __inline
1169
#elif (LZO_CC_MSC && (_MSC_VER >= 900))
1170
# define __lzo_inline __inline
1171
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
1172
# define __lzo_inline inline
1174
#if (LZO_CC_GNUC >= 0x030200ul)
1175
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
1176
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
1177
# define __lzo_forceinline __forceinline
1178
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
1179
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
1180
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1181
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
1182
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
1183
# define __lzo_forceinline __forceinline
1185
#if (LZO_CC_GNUC >= 0x030200ul)
1186
# define __lzo_noinline __attribute__((__noinline__))
1187
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_WIN32 || LZO_OS_WIN64))
1188
# define __lzo_noinline __declspec(noinline)
1189
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
1190
# define __lzo_noinline __attribute__((__noinline__))
1191
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1192
# define __lzo_noinline __attribute__((__noinline__))
1193
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
1194
# define __lzo_noinline __declspec(noinline)
1195
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64))
1196
# define __lzo_noinline __declspec(noinline)
1198
#if (defined(__lzo_forceinline) || defined(__lzo_noinline)) && !defined(__lzo_inline)
1199
# error "this should not happen"
1201
#if (LZO_CC_GNUC >= 0x020700ul)
1202
# define __lzo_noreturn __attribute__((__noreturn__))
1203
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
1204
# define __lzo_noreturn __declspec(noreturn)
1205
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_POSIX))
1206
# define __lzo_noreturn __attribute__((__noreturn__))
1207
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1208
# define __lzo_noreturn __attribute__((__noreturn__))
1209
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
1210
# define __lzo_noreturn __declspec(noreturn)
1212
#if (LZO_CC_GNUC >= 0x030400ul)
1213
# define __lzo_constructor __attribute__((__constructor__,__used__))
1214
#elif (LZO_CC_GNUC >= 0x020700ul)
1215
# define __lzo_constructor __attribute__((__constructor__))
1216
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1217
# define __lzo_constructor __attribute__((__constructor__))
1219
#if (LZO_CC_GNUC >= 0x030400ul)
1220
# define __lzo_destructor __attribute__((__destructor__,__used__))
1221
#elif (LZO_CC_GNUC >= 0x020700ul)
1222
# define __lzo_destructor __attribute__((__destructor__))
1223
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1224
# define __lzo_destructor __attribute__((__destructor__))
1226
#if defined(__lzo_destructor) && !defined(__lzo_constructor)
1227
# error "this should not happen"
1229
#if (LZO_CC_GNUC >= 0x030200ul)
1230
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
1231
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
1232
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
1233
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
1234
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
1235
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
1236
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
1237
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
1239
# define __lzo_likely(e) (e)
1240
# define __lzo_unlikely(e) (e)
1242
#if !defined(LZO_UNUSED)
1243
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
1244
# define LZO_UNUSED(var) ((void) &var)
1245
# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
1246
# define LZO_UNUSED(var) if (&var) ; else
1247
# elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
1248
# define LZO_UNUSED(var) ((void) var)
1249
# elif (LZO_CC_MSC && (_MSC_VER < 900))
1250
# define LZO_UNUSED(var) if (&var) ; else
1251
# elif (LZO_CC_KEILC)
1252
# define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
1253
# elif (LZO_CC_PACIFICC)
1254
# define LZO_UNUSED(var) ((void) sizeof(var))
1255
# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
1256
# define LZO_UNUSED(var) ((void) var)
1258
# define LZO_UNUSED(var) ((void) &var)
1261
#if !defined(LZO_UNUSED_FUNC)
1262
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
1263
# define LZO_UNUSED_FUNC(func) ((void) func)
1264
# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
1265
# define LZO_UNUSED_FUNC(func) if (func) ; else
1266
# elif (LZO_CC_LLVM)
1267
# define LZO_UNUSED_FUNC(func) ((void) &func)
1268
# elif (LZO_CC_MSC && (_MSC_VER < 900))
1269
# define LZO_UNUSED_FUNC(func) if (func) ; else
1271
# define LZO_UNUSED_FUNC(func) ((void) &func)
1272
# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
1273
# define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
1275
# define LZO_UNUSED_FUNC(func) ((void) func)
1278
#if !defined(LZO_UNUSED_LABEL)
1279
# if (LZO_CC_WATCOMC) && defined(__cplusplus)
1280
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
1281
# elif (LZO_CC_INTELC || LZO_CC_WATCOMC)
1282
# define LZO_UNUSED_LABEL(l) if (0) goto l
1284
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
1287
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
1288
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
1289
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
1290
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
1291
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)];
1292
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
1293
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
1295
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)];
1298
#if !defined(LZO_COMPILE_TIME_ASSERT)
1299
# if (LZO_CC_AZTECC)
1300
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];}
1301
# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
1302
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
1303
# elif (LZO_CC_MSC && (_MSC_VER < 900))
1304
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
1305
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
1306
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
1308
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];}
1311
#if (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
1312
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
1313
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
1314
# define __lzo_cdecl __cdecl
1315
# define __lzo_cdecl_atexit
1316
# define __lzo_cdecl_main __cdecl
1317
# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
1318
# define __lzo_cdecl_qsort __pascal
1319
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
1320
# define __lzo_cdecl_qsort _stdcall
1322
# define __lzo_cdecl_qsort __cdecl
1324
# elif (LZO_CC_WATCOMC)
1325
# define __lzo_cdecl __cdecl
1327
# define __lzo_cdecl __cdecl
1328
# define __lzo_cdecl_atexit __cdecl
1329
# define __lzo_cdecl_main __cdecl
1330
# define __lzo_cdecl_qsort __cdecl
1332
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
1333
# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
1334
# define __lzo_cdecl_sighandler __pascal
1335
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
1336
# define __lzo_cdecl_sighandler _stdcall
1337
# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
1338
# define __lzo_cdecl_sighandler __clrcall
1339
# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
1341
# define __lzo_cdecl_sighandler _far _cdecl _loadds
1343
# define __lzo_cdecl_sighandler _far _cdecl
1345
# define __lzo_cdecl_sighandler _cdecl
1348
# define __lzo_cdecl_sighandler __cdecl
1350
#elif (LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
1351
# define __lzo_cdecl cdecl
1353
#if !defined(__lzo_cdecl)
1354
# define __lzo_cdecl
1356
#if !defined(__lzo_cdecl_atexit)
1357
# define __lzo_cdecl_atexit
1359
#if !defined(__lzo_cdecl_main)
1360
# define __lzo_cdecl_main
1362
#if !defined(__lzo_cdecl_qsort)
1363
# define __lzo_cdecl_qsort
1365
#if !defined(__lzo_cdecl_sighandler)
1366
# define __lzo_cdecl_sighandler
1368
#if !defined(__lzo_cdecl_va)
1369
# define __lzo_cdecl_va __lzo_cdecl
1371
#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
1372
# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
1373
# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
1374
# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
1376
# define LZO_HAVE_WINDOWS_H 1
1379
#if (LZO_ARCH_ALPHA)
1380
# define LZO_OPT_AVOID_UINT_INDEX 1
1381
# define LZO_OPT_AVOID_SHORT 1
1382
# define LZO_OPT_AVOID_USHORT 1
1383
#elif (LZO_ARCH_AMD64)
1384
# define LZO_OPT_AVOID_INT_INDEX 1
1385
# define LZO_OPT_AVOID_UINT_INDEX 1
1386
#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
1387
#elif (LZO_ARCH_ARM)
1388
# define LZO_OPT_AVOID_SHORT 1
1389
# define LZO_OPT_AVOID_USHORT 1
1390
#elif (LZO_ARCH_IA64)
1391
# define LZO_OPT_AVOID_INT_INDEX 1
1392
# define LZO_OPT_AVOID_UINT_INDEX 1
1393
# define LZO_OPT_PREFER_POSTINC 1
1394
#elif (LZO_ARCH_M68K)
1395
# define LZO_OPT_PREFER_POSTINC 1
1396
# define LZO_OPT_PREFER_PREDEC 1
1397
#elif (LZO_ARCH_MIPS)
1398
# define LZO_OPT_AVOID_UINT_INDEX 1
1399
#elif (LZO_ARCH_POWERPC)
1400
# define LZO_OPT_PREFER_PREINC 1
1401
# define LZO_OPT_PREFER_PREDEC 1
1403
# define LZO_OPT_PREFER_POSTINC 1
1404
# define LZO_OPT_PREFER_PREDEC 1
1406
#if !defined(LZO_CFG_NO_INLINE_ASM)
1407
#if defined(LZO_CC_LLVM)
1408
# define LZO_CFG_NO_INLINE_ASM 1
1411
#if !defined(LZO_CFG_NO_UNALIGNED)
1412
#if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC)
1413
# define LZO_CFG_NO_UNALIGNED 1
1416
#if defined(LZO_CFG_NO_INLINE_ASM)
1417
#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
1418
# define LZO_ASM_SYNTAX_MSC 1
1419
#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
1420
#elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
1421
# define LZO_ASM_SYNTAX_GNUC 1
1422
#elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
1423
# define LZO_ASM_SYNTAX_GNUC 1
1425
#if (LZO_ASM_SYNTAX_GNUC)
1426
#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
1427
# define __LZO_ASM_CLOBBER "ax"
1428
#elif (LZO_CC_INTELC)
1429
# define __LZO_ASM_CLOBBER "memory"
1431
# define __LZO_ASM_CLOBBER "cc", "memory"
1434
#if defined(__LZO_INFOSTR_MM)
1435
#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
1436
# define __LZO_INFOSTR_MM ""
1437
#elif defined(LZO_INFO_MM)
1438
# define __LZO_INFOSTR_MM "." LZO_INFO_MM
1440
# define __LZO_INFOSTR_MM ""
1442
#if defined(__LZO_INFOSTR_PM)
1443
#elif defined(LZO_INFO_ABI_PM)
1444
# define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM
1446
# define __LZO_INFOSTR_PM ""
1448
#if defined(__LZO_INFOSTR_ENDIAN)
1449
#elif defined(LZO_INFO_ABI_ENDIAN)
1450
# define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN
1452
# define __LZO_INFOSTR_ENDIAN ""
1454
#if defined(__LZO_INFOSTR_OSNAME)
1455
#elif defined(LZO_INFO_OS_CONSOLE)
1456
# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE
1457
#elif defined(LZO_INFO_OS_POSIX)
1458
# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX
1460
# define __LZO_INFOSTR_OSNAME LZO_INFO_OS
1462
#if defined(__LZO_INFOSTR_LIBC)
1463
#elif defined(LZO_INFO_LIBC)
1464
# define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC
1466
# define __LZO_INFOSTR_LIBC ""
1468
#if defined(__LZO_INFOSTR_CCVER)
1469
#elif defined(LZO_INFO_CCVER)
1470
# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER
1472
# define __LZO_INFOSTR_CCVER ""
1474
#define LZO_INFO_STRING \
1475
LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
1476
" " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
1478
#endif /* already included */