"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/minilzo.c" between
n2n-2.8.tar.gz and n2n-3.0.tar.gz

About: n2n is a layer-two peer-to-peer virtual private network (VPN) which allows bypassing intermediate firewalls.

minilzo.c  (n2n-2.8):minilzo.c  (n2n-3.0)
/* minilzo.c -- mini subset of the LZO real-time data compression library /* minilzo.c -- mini subset of the LZO real-time data compression library
This file is part of the LZO real-time data compression library. This file is part of the LZO real-time data compression library.
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved. All Rights Reserved.
The LZO library is free software; you can redistribute it and/or The LZO library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version. the License, or (at your option) any later version.
The LZO library is distributed in the hope that it will be useful, The LZO library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
skipping to change at line 46 skipping to change at line 34
<markus@oberhumer.com> <markus@oberhumer.com>
http://www.oberhumer.com/opensource/lzo/ http://www.oberhumer.com/opensource/lzo/
*/ */
/* /*
* NOTE: * NOTE:
* the full LZO package can be found at * the full LZO package can be found at
* http://www.oberhumer.com/opensource/lzo/ * http://www.oberhumer.com/opensource/lzo/
*/ */
#define __LZO_IN_MINILZO #define __LZO_IN_MINILZO 1
#define LZO_BUILD
#if defined(LZO_CFG_FREESTANDING) #if defined(LZO_CFG_FREESTANDING)
# undef MINILZO_HAVE_CONFIG_H # undef MINILZO_HAVE_CONFIG_H
# define LZO_LIBC_FREESTANDING 1 # define LZO_LIBC_FREESTANDING 1
# define LZO_OS_FREESTANDING 1 # define LZO_OS_FREESTANDING 1
#endif #endif
#ifdef MINILZO_HAVE_CONFIG_H #ifdef MINILZO_HAVE_CONFIG_H
# include <config.h> # include <config.h>
#endif #endif
#include <limits.h> #include <limits.h>
#include <stddef.h> #include <stddef.h>
#if defined(MINILZO_CFG_USE_INTERNAL_LZODEFS) #if defined(MINILZO_CFG_USE_INTERNAL_LZODEFS)
#ifndef __LZODEFS_H_INCLUDED #ifndef __LZODEFS_H_INCLUDED
#define __LZODEFS_H_INCLUDED 1 #define __LZODEFS_H_INCLUDED 1
#if defined(__CYGWIN32__) && !defined(__CYGWIN__) #if defined(__CYGWIN32__) && !defined(__CYGWIN__)
# define __CYGWIN__ __CYGWIN32__ # define __CYGWIN__ __CYGWIN32__
#endif #endif
#if defined(__IBMCPP__) && !defined(__IBMC__)
# define __IBMC__ __IBMCPP__
#endif
#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
# define __INTEL_COMPILER __ICL
#endif
#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) #if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
# define _ALL_SOURCE 1 # define _ALL_SOURCE 1
#endif #endif
#if defined(__mips__) && defined(__R5900__) #if defined(__mips__) && defined(__R5900__)
# if !defined(__LONG_MAX__) # if !defined(__LONG_MAX__)
# define __LONG_MAX__ 9223372036854775807L # define __LONG_MAX__ 9223372036854775807L
# endif # endif
#endif #endif
#if defined(__INTEL_COMPILER) && defined(__linux__) #if 0
# pragma warning(disable: 193) #elif !defined(__LZO_LANG_OVERRIDE)
#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
# if (__ASSEMBLER__+0) <= 0
# error "__ASSEMBLER__"
# else
# define LZO_LANG_ASSEMBLER 1
# endif
#elif defined(__cplusplus)
# if (__cplusplus+0) <= 0
# error "__cplusplus"
# elif (__cplusplus < 199711L)
# define LZO_LANG_CXX 1
# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) &&
1
# define LZO_LANG_CXX _MSVC_LANG
# else
# define LZO_LANG_CXX __cplusplus
# endif
# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX
#else
# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
# define LZO_LANG_C __STDC_VERSION__
# else
# define LZO_LANG_C 1
# endif
#endif #endif
#if defined(__KEIL__) && defined(__C166__)
# pragma warning disable = 322
#elif 0 && defined(__C251__)
# pragma warning disable = 322
#endif #endif
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) #if !defined(LZO_CFG_NO_DISABLE_WUNDEF)
# if (_MSC_VER >= 1300) #if defined(__ARMCC_VERSION)
# pragma diag_suppress 193
#elif defined(__clang__) && defined(__clang_minor__)
# pragma clang diagnostic ignored "-Wundef"
#elif defined(__INTEL_COMPILER)
# pragma warning(disable: 193)
#elif defined(__KEIL__) && defined(__C166__)
# pragma warning disable = 322
#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__)
# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2))
# pragma GCC diagnostic ignored "-Wundef"
# endif
#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) &&
!defined(__MWERKS__)
# if ((_MSC_VER-0) >= 1300)
# pragma warning(disable: 4668) # pragma warning(disable: 4668)
# endif # endif
#endif #endif
#endif
#if 0 && defined(__POCC__) && defined(_WIN32)
# if (__POCC__ >= 400)
# pragma warn(disable: 2216)
# endif
#endif
#if 0 && defined(__WATCOMC__) #if 0 && defined(__WATCOMC__)
# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) # if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
# pragma warning 203 9 # pragma warning 203 9
# endif # endif
#endif #endif
#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) #if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
# pragma option -h # pragma option -h
#endif #endif
#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC)
#ifndef _CRT_NONSTDC_NO_DEPRECATE
#define _CRT_NONSTDC_NO_DEPRECATE 1
#endif
#ifndef _CRT_NONSTDC_NO_WARNINGS
#define _CRT_NONSTDC_NO_WARNINGS 1
#endif
#ifndef _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_DEPRECATE 1
#endif
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS 1
#endif
#endif
#if 0 #if 0
#define LZO_0xffffL 0xfffful #define LZO_0xffffUL 0xfffful
#define LZO_0xffffffffL 0xfffffffful #define LZO_0xffffffffUL 0xfffffffful
#else #else
#define LZO_0xffffL 65535ul #define LZO_0xffffUL 65535ul
#define LZO_0xffffffffL 4294967295ul #define LZO_0xffffffffUL 4294967295ul
#endif #endif
#define LZO_0xffffL LZO_0xffffUL
#define LZO_0xffffffffL LZO_0xffffffffUL
#if (LZO_0xffffL == LZO_0xffffffffL) #if (LZO_0xffffL == LZO_0xffffffffL)
# error "your preprocessor is broken 1" # error "your preprocessor is broken 1"
#endif #endif
#if (16ul * 16384ul != 262144ul) #if (16ul * 16384ul != 262144ul)
# error "your preprocessor is broken 2" # error "your preprocessor is broken 2"
#endif #endif
#if 0 #if 0
#if (32767 >= 4294967295ul) #if (32767 >= 4294967295ul)
# error "your preprocessor is broken 3" # error "your preprocessor is broken 3"
#endif #endif
#if (65535u >= 4294967295ul) #if (65535u >= 4294967295ul)
# error "your preprocessor is broken 4" # error "your preprocessor is broken 4"
#endif #endif
#endif #endif
#if defined(__COUNTER__)
# ifndef LZO_CFG_USE_COUNTER
# define LZO_CFG_USE_COUNTER 1
# endif
#else
# undef LZO_CFG_USE_COUNTER
#endif
#if (UINT_MAX == LZO_0xffffL) #if (UINT_MAX == LZO_0xffffL)
#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) #if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
# if !defined(MSDOS) # if !defined(MSDOS)
# define MSDOS 1 # define MSDOS 1
# endif # endif
# if !defined(_MSDOS) # if !defined(_MSDOS)
# define _MSDOS 1 # define _MSDOS 1
# endif # endif
#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) #elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
# if (__VERSION == 520) && (MB_LEN_MAX == 1) # if (__VERSION == 520) && (MB_LEN_MAX == 1)
# if !defined(__AZTEC_C__) # if !defined(__AZTEC_C__)
# define __AZTEC_C__ __VERSION # define __AZTEC_C__ __VERSION
# endif # endif
# if !defined(__DOS__) # if !defined(__DOS__)
# define __DOS__ 1 # define __DOS__ 1
# endif # endif
# endif # endif
#endif #endif
#endif #endif
#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) #if (UINT_MAX == LZO_0xffffL)
#if defined(_MSC_VER) && defined(M_I86HM)
# define ptrdiff_t long # define ptrdiff_t long
# define _PTRDIFF_T_DEFINED # define _PTRDIFF_T_DEFINED 1
#endif
#endif #endif
#if (UINT_MAX == LZO_0xffffL) #if (UINT_MAX == LZO_0xffffL)
# undef __LZO_RENAME_A # undef __LZO_RENAME_A
# undef __LZO_RENAME_B # undef __LZO_RENAME_B
# if defined(__AZTEC_C__) && defined(__DOS__) # if defined(__AZTEC_C__) && defined(__DOS__)
# define __LZO_RENAME_A 1 # define __LZO_RENAME_A 1
# elif defined(_MSC_VER) && defined(MSDOS) # elif defined(_MSC_VER) && defined(MSDOS)
# if (_MSC_VER < 600) # if (_MSC_VER < 600)
# define __LZO_RENAME_A 1 # define __LZO_RENAME_A 1
# elif (_MSC_VER < 700) # elif (_MSC_VER < 700)
skipping to change at line 254 skipping to change at line 298
#endif #endif
#endif #endif
#if defined(__WATCOMC__) && (__WATCOMC__ < 900) #if defined(__WATCOMC__) && (__WATCOMC__ < 900)
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 # define LZO_BROKEN_INTEGRAL_CONSTANTS 1
#endif #endif
#if defined(_CRAY) && defined(_CRAY1) #if defined(_CRAY) && defined(_CRAY1)
# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 # define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
#endif #endif
#define LZO_PP_STRINGIZE(x) #x #define LZO_PP_STRINGIZE(x) #x
#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) #define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
#define LZO_PP_CONCAT0() /*empty*/
#define LZO_PP_CONCAT1(a) a
#define LZO_PP_CONCAT2(a,b) a ## b #define LZO_PP_CONCAT2(a,b) a ## b
#define LZO_PP_CONCAT3(a,b,c) a ## b ## c #define LZO_PP_CONCAT3(a,b,c) a ## b ## c
#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d #define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e #define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0()
#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a)
#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) #define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) #define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) #define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) #define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f)
#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g)
#define LZO_PP_EMPTY /*empty*/
#define LZO_PP_EMPTY0() /*empty*/
#define LZO_PP_EMPTY1(a) /*empty*/
#define LZO_PP_EMPTY2(a,b) /*empty*/
#define LZO_PP_EMPTY3(a,b,c) /*empty*/
#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/
#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/
#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/
#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/
#if 1 #if 1
#define LZO_CPP_STRINGIZE(x) #x #define LZO_CPP_STRINGIZE(x) #x
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) #define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
#define LZO_CPP_CONCAT2(a,b) a ## b #define LZO_CPP_CONCAT2(a,b) a ## b
#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c #define LZO_CPP_CONCAT3(a,b,c) a ## b ## c
#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d #define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e #define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f
#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g
#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) #define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b)
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) #define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) #define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) #define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f)
#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g)
#endif #endif
#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o)) #define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*(( b)!=0))
#if 1 && defined(__cplusplus) #if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS) # if !defined(__STDC_CONSTANT_MACROS)
# define __STDC_CONSTANT_MACROS 1 # define __STDC_CONSTANT_MACROS 1
# endif # endif
# if !defined(__STDC_LIMIT_MACROS) # if !defined(__STDC_LIMIT_MACROS)
# define __STDC_LIMIT_MACROS 1 # define __STDC_LIMIT_MACROS 1
# endif # endif
#endif #endif
#if defined(__cplusplus) #if defined(__cplusplus)
# define LZO_EXTERN_C extern "C" # define LZO_EXTERN_C extern "C"
#else # define LZO_EXTERN_C_BEGIN extern "C" {
# define LZO_EXTERN_C extern # define LZO_EXTERN_C_END }
#else
# define LZO_EXTERN_C extern
# define LZO_EXTERN_C_BEGIN /*empty*/
# define LZO_EXTERN_C_END /*empty*/
#endif #endif
#if !defined(__LZO_OS_OVERRIDE) #if !defined(__LZO_OS_OVERRIDE)
#if defined(LZO_OS_FREESTANDING) #if (LZO_OS_FREESTANDING)
# define LZO_INFO_OS "freestanding" # define LZO_INFO_OS "freestanding"
#elif defined(LZO_OS_EMBEDDED) #elif (LZO_OS_EMBEDDED)
# define LZO_INFO_OS "embedded" # define LZO_INFO_OS "embedded"
#elif 1 && defined(__IAR_SYSTEMS_ICC__) #elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_OS_EMBEDDED 1 # define LZO_OS_EMBEDDED 1
# define LZO_INFO_OS "embedded" # define LZO_INFO_OS "embedded"
#elif defined(__CYGWIN__) && defined(__GNUC__) #elif defined(__CYGWIN__) && defined(__GNUC__)
# define LZO_OS_CYGWIN 1 # define LZO_OS_CYGWIN 1
# define LZO_INFO_OS "cygwin" # define LZO_INFO_OS "cygwin"
#elif defined(__EMX__) && defined(__GNUC__) #elif defined(__EMX__) && defined(__GNUC__)
# define LZO_OS_EMX 1 # define LZO_OS_EMX 1
# define LZO_INFO_OS "emx" # define LZO_INFO_OS "emx"
skipping to change at line 381 skipping to change at line 450
# define LZO_INFO_OS "posix" # define LZO_INFO_OS "posix"
# else # else
# error "please specify a target using the -bt compiler option" # error "please specify a target using the -bt compiler option"
# endif # endif
#elif defined(__palmos__) #elif defined(__palmos__)
# define LZO_OS_PALMOS 1 # define LZO_OS_PALMOS 1
# define LZO_INFO_OS "palmos" # define LZO_INFO_OS "palmos"
#elif defined(__TOS__) || defined(__atarist__) #elif defined(__TOS__) || defined(__atarist__)
# define LZO_OS_TOS 1 # define LZO_OS_TOS 1
# define LZO_INFO_OS "tos" # define LZO_INFO_OS "tos"
#elif defined(macintosh) && !defined(__ppc__) #elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined( __ppc__) && !defined(__x64_64__)
# define LZO_OS_MACCLASSIC 1 # define LZO_OS_MACCLASSIC 1
# define LZO_INFO_OS "macclassic" # define LZO_INFO_OS "macclassic"
#elif defined(__VMS) #elif defined(__VMS)
# define LZO_OS_VMS 1 # define LZO_OS_VMS 1
# define LZO_INFO_OS "vms" # define LZO_INFO_OS "vms"
#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) #elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)
# define LZO_OS_CONSOLE 1 # define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PS2 1 # define LZO_OS_CONSOLE_PS2 1
# define LZO_INFO_OS "console" # define LZO_INFO_OS "console"
# define LZO_INFO_OS_CONSOLE "ps2" # define LZO_INFO_OS_CONSOLE "ps2"
#elif (defined(__mips__) && defined(__psp__)) #elif defined(__mips__) && defined(__psp__)
# define LZO_OS_CONSOLE 1 # define LZO_OS_CONSOLE 1
# define LZO_OS_CONSOLE_PSP 1 # define LZO_OS_CONSOLE_PSP 1
# define LZO_INFO_OS "console" # define LZO_INFO_OS "console"
# define LZO_INFO_OS_CONSOLE "psp" # define LZO_INFO_OS_CONSOLE "psp"
#else #else
# define LZO_OS_POSIX 1 # define LZO_OS_POSIX 1
# define LZO_INFO_OS "posix" # define LZO_INFO_OS "posix"
#endif #endif
#if (LZO_OS_POSIX) #if (LZO_OS_POSIX)
# if defined(_AIX) || defined(__AIX__) || defined(__aix__) # if defined(_AIX) || defined(__AIX__) || defined(__aix__)
skipping to change at line 420 skipping to change at line 489
# define LZO_INFO_OS_POSIX "hpux" # define LZO_INFO_OS_POSIX "hpux"
# elif defined(__INTERIX) # elif defined(__INTERIX)
# define LZO_OS_POSIX_INTERIX 1 # define LZO_OS_POSIX_INTERIX 1
# define LZO_INFO_OS_POSIX "interix" # define LZO_INFO_OS_POSIX "interix"
# elif defined(__IRIX__) || defined(__irix__) # elif defined(__IRIX__) || defined(__irix__)
# define LZO_OS_POSIX_IRIX 1 # define LZO_OS_POSIX_IRIX 1
# define LZO_INFO_OS_POSIX "irix" # define LZO_INFO_OS_POSIX "irix"
# elif defined(__linux__) || defined(__linux) || defined(__LINUX__) # elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
# define LZO_OS_POSIX_LINUX 1 # define LZO_OS_POSIX_LINUX 1
# define LZO_INFO_OS_POSIX "linux" # define LZO_INFO_OS_POSIX "linux"
# elif defined(__APPLE__) || defined(__MACOS__) # elif defined(__APPLE__) && defined(__MACH__)
# define LZO_OS_POSIX_MACOSX 1 # if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000)
# define LZO_INFO_OS_POSIX "macosx" # define LZO_OS_POSIX_DARWIN 1040
# define LZO_INFO_OS_POSIX "darwin_iphone"
# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040)
# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRE
D__
# define LZO_INFO_OS_POSIX "darwin"
# else
# define LZO_OS_POSIX_DARWIN 1
# define LZO_INFO_OS_POSIX "darwin"
# endif
# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN
# elif defined(__minix__) || defined(__minix) # elif defined(__minix__) || defined(__minix)
# define LZO_OS_POSIX_MINIX 1 # define LZO_OS_POSIX_MINIX 1
# define LZO_INFO_OS_POSIX "minix" # define LZO_INFO_OS_POSIX "minix"
# elif defined(__NetBSD__) # elif defined(__NetBSD__)
# define LZO_OS_POSIX_NETBSD 1 # define LZO_OS_POSIX_NETBSD 1
# define LZO_INFO_OS_POSIX "netbsd" # define LZO_INFO_OS_POSIX "netbsd"
# elif defined(__OpenBSD__) # elif defined(__OpenBSD__)
# define LZO_OS_POSIX_OPENBSD 1 # define LZO_OS_POSIX_OPENBSD 1
# define LZO_INFO_OS_POSIX "openbsd" # define LZO_INFO_OS_POSIX "openbsd"
# elif defined(__osf__) # elif defined(__osf__)
skipping to change at line 457 skipping to change at line 535
# define LZO_OS_POSIX_UNICOS 1 # define LZO_OS_POSIX_UNICOS 1
# define LZO_INFO_OS_POSIX "unicos" # define LZO_INFO_OS_POSIX "unicos"
# else # else
# define LZO_OS_POSIX_UNKNOWN 1 # define LZO_OS_POSIX_UNKNOWN 1
# define LZO_INFO_OS_POSIX "unknown" # define LZO_INFO_OS_POSIX "unknown"
# endif # endif
#endif #endif
#endif #endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# if (UINT_MAX != LZO_0xffffL) # if (UINT_MAX != LZO_0xffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
# if (ULONG_MAX != LZO_0xffffffffL) # if (ULONG_MAX != LZO_0xffffffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
#endif #endif
#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) #if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (UINT_MAX != LZO_0xffffffffL) # if (UINT_MAX != LZO_0xffffffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
# if (ULONG_MAX != LZO_0xffffffffL) # if (ULONG_MAX != LZO_0xffffffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
#endif #endif
#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) #if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
# define LZO_CC_CILLY 1 # define LZO_CC_CILLY 1
# define LZO_INFO_CC "Cilly" # define LZO_INFO_CC "Cilly"
# if defined(__CILLY__) # if defined(__CILLY__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__)
# else # else
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
# endif # endif
#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) #elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
# define LZO_CC_SDCC 1 # define LZO_CC_SDCC 1
# define LZO_INFO_CC "sdcc" # define LZO_INFO_CC "sdcc"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) #elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x10 0 + __PATHCC_PATCHLEVEL__) # define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0))
# define LZO_INFO_CC "Pathscale C" # define LZO_INFO_CC "Pathscale C"
# define LZO_INFO_CCVER __PATHSCALE__ # define LZO_INFO_CCVER __PATHSCALE__
#elif defined(__INTEL_COMPILER) # if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_INTELC 1 # define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x
100 + (__GNUC_PATCHLEVEL__-0))
# endif
#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0)
# define LZO_CC_INTELC __INTEL_COMPILER
# define LZO_INFO_CC "Intel C" # define LZO_INFO_CC "Intel C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
# if defined(_WIN32) || defined(_WIN64) # if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
# define LZO_CC_SYNTAX_MSC 1 # define LZO_CC_INTELC_MSC _MSC_VER
# else # elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_SYNTAX_GNUC 1 # define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x1
00 + (__GNUC_PATCHLEVEL__-0))
# endif # endif
#elif defined(__POCC__) && defined(_WIN32) #elif defined(__POCC__) && defined(_WIN32)
# define LZO_CC_PELLESC 1 # define LZO_CC_PELLESC 1
# define LZO_INFO_CC "Pelles C" # define LZO_INFO_CC "Pelles C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
#elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__) #elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) &
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) & defined(__VERSION__)
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + # if defined(__GNUC_PATCHLEVEL__)
__GNUC_PATCHLEVEL__) # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0 + (__GNUC_PATCHLEVEL__-0))
# else # else
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) # define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10 0)
# endif # endif
# define LZO_INFO_CC "llvm-gcc" # define LZO_CC_ARMCC __ARMCC_VERSION
# define LZO_INFO_CC "ARM C Compiler"
# define LZO_INFO_CCVER __VERSION__ # define LZO_INFO_CCVER __VERSION__
#elif defined(__GNUC__) && defined(__VERSION__) #elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && define
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) d(_MSC_VER)
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + # define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0
__GNUC_PATCHLEVEL__) ) * 0x100 + (__clang_patchlevel__-0))
# elif defined(__GNUC_MINOR__) # define LZO_CC_CLANG_C2 _MSC_VER
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100) # define LZO_CC_CLANG_VENDOR_MICROSOFT 1
# define LZO_INFO_CC "clang/c2"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__)
#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_pa
tchlevel__)
# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0
) * 0x100 + (__clang_patchlevel__-0))
# else
# define LZO_CC_CLANG 0x010000L
# endif
# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
# define LZO_CC_CLANG_MSC _MSC_VER
# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0 + (__GNUC_PATCHLEVEL__-0))
# endif
# if defined(__APPLE_CC__)
# define LZO_CC_CLANG_VENDOR_APPLE 1
# define LZO_INFO_CC "clang/apple"
# else
# define LZO_CC_CLANG_VENDOR_LLVM 1
# define LZO_INFO_CC "clang"
# endif
# if defined(__clang_version__)
# define LZO_INFO_CCVER __clang_version__
# else
# define LZO_INFO_CCVER __VERSION__
# endif
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defin
ed(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0 + (__GNUC_PATCHLEVEL__-0))
# else # else
# define LZO_CC_GNUC (__GNUC__ * 0x10000L) # define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10 0)
# endif # endif
# define LZO_INFO_CC "gcc" # define LZO_CC_LLVM LZO_CC_LLVM_GNUC
# define LZO_INFO_CC "llvm-gcc"
# define LZO_INFO_CCVER __VERSION__ # define LZO_INFO_CCVER __VERSION__
#elif defined(__ACK__) && defined(_ACK) #elif defined(__ACK__) && defined(_ACK)
# define LZO_CC_ACK 1 # define LZO_CC_ACK 1
# define LZO_INFO_CC "Amsterdam Compiler Kit C" # define LZO_INFO_CC "Amsterdam Compiler Kit C"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#elif defined(__ARMCC_VERSION) && !defined(__GNUC__)
# define LZO_CC_ARMCC __ARMCC_VERSION
# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION
# define LZO_INFO_CC "ARM C Compiler"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION)
#elif defined(__AZTEC_C__) #elif defined(__AZTEC_C__)
# define LZO_CC_AZTECC 1 # define LZO_CC_AZTECC 1
# define LZO_INFO_CC "Aztec C" # define LZO_INFO_CC "Aztec C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__)
#elif defined(__CODEGEARC__)
# define LZO_CC_CODEGEARC 1
# define LZO_INFO_CC "CodeGear C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__)
#elif defined(__BORLANDC__) #elif defined(__BORLANDC__)
# define LZO_CC_BORLANDC 1 # define LZO_CC_BORLANDC 1
# define LZO_INFO_CC "Borland C" # define LZO_INFO_CC "Borland C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__)
#elif defined(_CRAYC) && defined(_RELEASE) #elif defined(_CRAYC) && defined(_RELEASE)
# define LZO_CC_CRAYC 1 # define LZO_CC_CRAYC 1
# define LZO_INFO_CC "Cray C" # define LZO_INFO_CC "Cray C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE)
#elif defined(__DMC__) && defined(__SC__) #elif defined(__DMC__) && defined(__SC__)
# define LZO_CC_DMC 1 # define LZO_CC_DMC 1
# define LZO_INFO_CC "Digital Mars C" # define LZO_INFO_CC "Digital Mars C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__)
#elif defined(__DECC) #elif defined(__DECC)
# define LZO_CC_DECC 1 # define LZO_CC_DECC 1
# define LZO_INFO_CC "DEC C" # define LZO_INFO_CC "DEC C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && (
(__GHS_VERSION_NUMBER-0) > 0)
# define LZO_CC_GHS 1
# define LZO_INFO_CC "Green Hills C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER)
# if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
# define LZO_CC_GHS_MSC _MSC_VER
# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0 + (__GNUC_PATCHLEVEL__-0))
# endif
#elif defined(__HIGHC__) #elif defined(__HIGHC__)
# define LZO_CC_HIGHC 1 # define LZO_CC_HIGHC 1
# define LZO_INFO_CC "MetaWare High C" # define LZO_INFO_CC "MetaWare High C"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0)
# define LZO_CC_HPACC __HP_aCC
# define LZO_INFO_CC "HP aCC"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC)
#elif defined(__IAR_SYSTEMS_ICC__) #elif defined(__IAR_SYSTEMS_ICC__)
# define LZO_CC_IARC 1 # define LZO_CC_IARC 1
# define LZO_INFO_CC "IAR C" # define LZO_INFO_CC "IAR C"
# if defined(__VER__) # if defined(__VER__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__)
# else # else
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
# endif # endif
#elif defined(__IBMC__) #elif defined(__IBMC__) && ((__IBMC__-0) > 0)
# define LZO_CC_IBMC 1 # define LZO_CC_IBMC __IBMC__
# define LZO_INFO_CC "IBM C" # define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0)
# define LZO_CC_IBMC __IBMCPP__
# define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__)
#elif defined(__KEIL__) && defined(__C166__) #elif defined(__KEIL__) && defined(__C166__)
# define LZO_CC_KEILC 1 # define LZO_CC_KEILC 1
# define LZO_INFO_CC "Keil C" # define LZO_INFO_CC "Keil C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__)
#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) #elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
# define LZO_CC_LCCWIN32 1 # define LZO_CC_LCCWIN32 1
# define LZO_INFO_CC "lcc-win32" # define LZO_INFO_CC "lcc-win32"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#elif defined(__LCC__) #elif defined(__LCC__)
# define LZO_CC_LCC 1 # define LZO_CC_LCC 1
# define LZO_INFO_CC "lcc" # define LZO_INFO_CC "lcc"
# if defined(__LCC_VERSION__) # if defined(__LCC_VERSION__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
# else # else
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
# endif # endif
#elif defined(_MSC_VER) #elif defined(__MWERKS__) && ((__MWERKS__-0) > 0)
# define LZO_CC_MSC 1 # define LZO_CC_MWERKS __MWERKS__
# define LZO_INFO_CC "Microsoft C"
# if defined(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_E
XPAND(_MSC_FULL_VER)
# else
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
# endif
#elif defined(__MWERKS__)
# define LZO_CC_MWERKS 1
# define LZO_INFO_CC "Metrowerks C" # define LZO_INFO_CC "Metrowerks C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) #elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
# define LZO_CC_NDPC 1 # define LZO_CC_NDPC 1
# define LZO_INFO_CC "Microway NDP C" # define LZO_INFO_CC "Microway NDP C"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#elif defined(__PACIFIC__) #elif defined(__PACIFIC__)
# define LZO_CC_PACIFICC 1 # define LZO_CC_PACIFICC 1
# define LZO_INFO_CC "Pacific C" # define LZO_INFO_CC "Pacific C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x10
0 + (__PGIC_PATCHLEVEL__-0))
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_E
XPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__)
# else
# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x10
0)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_E
XPAND(__PGIC_MINOR__) ".0"
# endif
# define LZO_INFO_CC "Portland Group PGI C"
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) #elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
# define LZO_CC_PGI 1 # define LZO_CC_PGI 1
# define LZO_INFO_CC "Portland Group PGI C" # define LZO_INFO_CC "Portland Group PGI C"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#elif defined(__PUREC__) && defined(__TOS__) #elif defined(__PUREC__) && defined(__TOS__)
# define LZO_CC_PUREC 1 # define LZO_CC_PUREC 1
# define LZO_INFO_CC "Pure C" # define LZO_INFO_CC "Pure C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__)
#elif defined(__SC__) && defined(__ZTC__) #elif defined(__SC__) && defined(__ZTC__)
# define LZO_CC_SYMANTECC 1 # define LZO_CC_SYMANTECC 1
# define LZO_INFO_CC "Symantec C" # define LZO_INFO_CC "Symantec C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
#elif defined(__SUNPRO_C) #elif defined(__SUNPRO_C)
# define LZO_INFO_CC "SunPro C" # define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_C)+0 > 0) # if ((__SUNPRO_C-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_C # define LZO_CC_SUNPROC __SUNPRO_C
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
# else # else
# define LZO_CC_SUNPROC 1 # define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
# endif # endif
#elif defined(__SUNPRO_CC) #elif defined(__SUNPRO_CC)
# define LZO_INFO_CC "SunPro C" # define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_CC)+0 > 0) # if ((__SUNPRO_CC-0) > 0)
# define LZO_CC_SUNPROC __SUNPRO_CC # define LZO_CC_SUNPROC __SUNPRO_CC
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
# else # else
# define LZO_CC_SUNPROC 1 # define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
# endif # endif
#elif defined(__TINYC__) #elif defined(__TINYC__)
# define LZO_CC_TINYC 1 # define LZO_CC_TINYC 1
# define LZO_INFO_CC "Tiny C" # define LZO_INFO_CC "Tiny C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__)
skipping to change at line 643 skipping to change at line 780
# define LZO_CC_WATCOMC 1 # define LZO_CC_WATCOMC 1
# define LZO_INFO_CC "Watcom C" # define LZO_INFO_CC "Watcom C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__)
#elif defined(__TURBOC__) #elif defined(__TURBOC__)
# define LZO_CC_TURBOC 1 # define LZO_CC_TURBOC 1
# define LZO_INFO_CC "Turbo C" # define LZO_INFO_CC "Turbo C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__)
#elif defined(__ZTC__) #elif defined(__ZTC__)
# define LZO_CC_ZORTECHC 1 # define LZO_CC_ZORTECHC 1
# define LZO_INFO_CC "Zortech C" # define LZO_INFO_CC "Zortech C"
# if (__ZTC__ == 0x310) # if ((__ZTC__-0) == 0x310)
# define LZO_INFO_CCVER "0x310" # define LZO_INFO_CCVER "0x310"
# else # else
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) # define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
# endif # endif
#elif defined(__GNUC__) && defined(__VERSION__)
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0 + (__GNUC_PATCHLEVEL__-0))
# elif defined(__GNUC_MINOR__)
# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x10
0)
# else
# define LZO_CC_GNUC (__GNUC__ * 0x10000L)
# endif
# define LZO_INFO_CC "gcc"
# define LZO_INFO_CCVER __VERSION__
#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0)
# define LZO_CC_MSC _MSC_VER
# define LZO_INFO_CC "Microsoft C"
# if defined(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_E
XPAND(_MSC_FULL_VER)
# else
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
# endif
#else #else
# define LZO_CC_UNKNOWN 1 # define LZO_CC_UNKNOWN 1
# define LZO_INFO_CC "unknown" # define LZO_INFO_CC "unknown"
# define LZO_INFO_CCVER "unknown" # define LZO_INFO_CCVER "unknown"
#endif #endif
#if (LZO_CC_GNUC) && defined(__OPEN64__)
# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCH
LEVEL__)
# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) *
0x100 + (__OPENCC_PATCHLEVEL__-0))
# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC
# endif
#endif
#if (LZO_CC_GNUC) && defined(__PCC__)
# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100
+ (__PCC_MINORMINOR__-0))
# define LZO_CC_PCC_GNUC LZO_CC_GNUC
# endif
#endif
#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) #if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "LZO_CC_MSC: _MSC_FULL_VER is not defined" # error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
#endif #endif
#if !defined(__LZO_ARCH_OVERRIDE) && !defined(LZO_ARCH_GENERIC) && defined(_CRAY ) #if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY)
# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) # if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) # if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
# define LZO_ARCH_CRAY_MPP 1 # define LZO_ARCH_CRAY_MPP 1
# elif defined(_CRAY1) # elif defined(_CRAY1)
# define LZO_ARCH_CRAY_PVP 1 # define LZO_ARCH_CRAY_PVP 1
# endif # endif
# endif # endif
#endif #endif
#if !defined(__LZO_ARCH_OVERRIDE) #if !defined(__LZO_ARCH_OVERRIDE)
#if defined(LZO_ARCH_GENERIC) #if (LZO_ARCH_GENERIC)
# define LZO_INFO_ARCH "generic" # define LZO_INFO_ARCH "generic"
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) #elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086 1 # define LZO_ARCH_I086 1
# define LZO_ARCH_IA16 1
# define LZO_INFO_ARCH "i086" # define LZO_INFO_ARCH "i086"
#elif defined(__aarch64__) || defined(_M_ARM64)
# define LZO_ARCH_ARM64 1
# define LZO_INFO_ARCH "arm64"
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) #elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
# define LZO_ARCH_ALPHA 1 # define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha" # define LZO_INFO_ARCH "alpha"
#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) #elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
# define LZO_ARCH_ALPHA 1 # define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha" # define LZO_INFO_ARCH "alpha"
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) #elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define LZO_ARCH_AMD64 1 # define LZO_ARCH_AMD64 1
# define LZO_INFO_ARCH "amd64" # define LZO_INFO_ARCH "amd64"
#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) #elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1 # define LZO_ARCH_ARM 1
# define LZO_ARCH_ARM_THUMB 1 # define LZO_INFO_ARCH "arm"
# define LZO_INFO_ARCH "arm_thumb"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
# define LZO_ARCH_ARM 1 # define LZO_ARCH_ARM 1
# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
# define LZO_ARCH_ARM_THUMB 1
# define LZO_INFO_ARCH "arm_thumb"
# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
# define LZO_INFO_ARCH "arm"
# else
# define LZO_INFO_ARCH "arm"
# endif
#elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1
# define LZO_INFO_ARCH "arm" # define LZO_INFO_ARCH "arm"
#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) #elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
# define LZO_ARCH_AVR 1 # define LZO_ARCH_AVR 1
# define LZO_INFO_ARCH "avr" # define LZO_INFO_ARCH "avr"
#elif defined(__avr32__) || defined(__AVR32__)
# define LZO_ARCH_AVR32 1
# define LZO_INFO_ARCH "avr32"
#elif defined(__bfin__) #elif defined(__bfin__)
# define LZO_ARCH_BLACKFIN 1 # define LZO_ARCH_BLACKFIN 1
# define LZO_INFO_ARCH "blackfin" # define LZO_INFO_ARCH "blackfin"
#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) #elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
# define LZO_ARCH_C166 1 # define LZO_ARCH_C166 1
# define LZO_INFO_ARCH "c166" # define LZO_INFO_ARCH "c166"
#elif defined(__cris__) #elif defined(__cris__)
# define LZO_ARCH_CRIS 1 # define LZO_ARCH_CRIS 1
# define LZO_INFO_ARCH "cris" # define LZO_INFO_ARCH "cris"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
skipping to change at line 767 skipping to change at line 928
# define LZO_INFO_ARCH "mips" # define LZO_INFO_ARCH "mips"
#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) #elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
# define LZO_ARCH_MSP430 1 # define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430" # define LZO_INFO_ARCH "msp430"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
# define LZO_ARCH_MSP430 1 # define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430" # define LZO_INFO_ARCH "msp430"
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined( __PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) #elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined( __PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1 # define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc" # define LZO_INFO_ARCH "powerpc"
#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || de
fined(__PPC64__)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__)
|| defined(__PPC64LE__)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
#elif defined(__riscv)
# define LZO_ARCH_RISCV 1
# define LZO_INFO_ARCH "riscv"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s3 90x) #elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s3 90x)
# define LZO_ARCH_S390 1 # define LZO_ARCH_S390 1
# define LZO_INFO_ARCH "s390" # define LZO_INFO_ARCH "s390"
#elif defined(__sh__) || defined(_M_SH) #elif defined(__sh__) || defined(_M_SH)
# define LZO_ARCH_SH 1 # define LZO_ARCH_SH 1
# define LZO_INFO_ARCH "sh" # define LZO_INFO_ARCH "sh"
#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) #elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
# define LZO_ARCH_SPARC 1 # define LZO_ARCH_SPARC 1
# define LZO_INFO_ARCH "sparc" # define LZO_INFO_ARCH "sparc"
#elif defined(__SPU__) #elif defined(__SPU__)
skipping to change at line 801 skipping to change at line 971
# define LZO_INFO_ARCH "cray_ymp" # define LZO_INFO_ARCH "cray_ymp"
# else # else
# define LZO_ARCH_CRAY_XMP 1 # define LZO_ARCH_CRAY_XMP 1
# define LZO_INFO_ARCH "cray_xmp" # define LZO_INFO_ARCH "cray_xmp"
# endif # endif
#else #else
# define LZO_ARCH_UNKNOWN 1 # define LZO_ARCH_UNKNOWN 1
# define LZO_INFO_ARCH "unknown" # define LZO_INFO_ARCH "unknown"
#endif #endif
#endif #endif
#if !defined(LZO_ARCH_ARM_THUMB2)
#if (LZO_ARCH_ARM)
# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
# if defined(__thumb2__)
# define LZO_ARCH_ARM_THUMB2 1
# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
# define LZO_ARCH_ARM_THUMB2 1
# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
# define LZO_ARCH_ARM_THUMB2 1
# endif
# endif
#endif
#endif
#if (LZO_ARCH_ARM_THUMB2)
# undef LZO_INFO_ARCH
# define LZO_INFO_ARCH "arm_thumb2"
#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
# error "FIXME - missing define for CPU architecture" # error "FIXME - missing define for CPU architecture"
#endif #endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
# error "FIXME - missing WIN32 define for CPU architecture" # error "FIXME - missing LZO_OS_WIN32 define for CPU architecture"
#endif #endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) #if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
# error "FIXME - missing WIN64 define for CPU architecture" # error "FIXME - missing LZO_OS_WIN64 define for CPU architecture"
#endif #endif
#if (LZO_OS_OS216 || LZO_OS_WIN16) #if (LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086PM 1 # define LZO_ARCH_I086PM 1
# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(BLX286)) #elif 1 && (LZO_OS_DOS16 && defined(BLX286))
# define LZO_ARCH_I086PM 1 # define LZO_ARCH_I086PM 1
# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) #elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
# define LZO_ARCH_I086PM 1 # define LZO_ARCH_I086PM 1
# define LZO_ARCH_IA16PM 1
#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) #elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
# define LZO_ARCH_I086PM 1 # define LZO_ARCH_I086PM 1
# define LZO_ARCH_IA16PM 1
#endif #endif
#if defined(LZO_ARCH_ARM_THUMB) && !defined(LZO_ARCH_ARM) #if (LZO_ARCH_AMD64 && !LZO_ARCH_X64)
# error "this should not happen" # define LZO_ARCH_X64 1
#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE)
# define LZO_ARCH_AMD64 1
#endif
#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64)
# define LZO_ARCH_AARCH64 1
#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE)
# define LZO_ARCH_ARM64 1
#endif
#if (LZO_ARCH_I386 && !LZO_ARCH_X86)
# define LZO_ARCH_X86 1
#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE)
# define LZO_ARCH_I386 1
#endif
#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64)
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH6
4)
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86)
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM)
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM)
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2)
# error "unexpected configuration - check your compiler defines"
#endif #endif
#if defined(LZO_ARCH_I086PM) && !defined(LZO_ARCH_I086) #if (LZO_ARCH_I086PM && !LZO_ARCH_I086)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
#endif #endif
#if (LZO_ARCH_I086) #if (LZO_ARCH_I086)
# if (UINT_MAX != LZO_0xffffL) # if (UINT_MAX != LZO_0xffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
# if (ULONG_MAX != LZO_0xffffffffL) # if (ULONG_MAX != LZO_0xffffffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
#endif #endif
#if (LZO_ARCH_I386) #if (LZO_ARCH_I386)
# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) # if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) # if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
# if (ULONG_MAX != LZO_0xffffffffL) # if (ULONG_MAX != LZO_0xffffffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif
#endif
#if (LZO_ARCH_AMD64 || LZO_ARCH_I386)
# if !defined(LZO_TARGET_FEATURE_SSE2)
# if defined(__SSE2__)
# define LZO_TARGET_FEATURE_SSE2 1
# elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2))
# define LZO_TARGET_FEATURE_SSE2 1
# elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64)
# define LZO_TARGET_FEATURE_SSE2 1
# endif
# endif
# if !defined(LZO_TARGET_FEATURE_SSSE3)
# if (LZO_TARGET_FEATURE_SSE2)
# if defined(__SSSE3__)
# define LZO_TARGET_FEATURE_SSSE3 1
# elif defined(_MSC_VER) && defined(__AVX__)
# define LZO_TARGET_FEATURE_SSSE3 1
# endif
# endif
# endif
# if !defined(LZO_TARGET_FEATURE_SSE4_2)
# if (LZO_TARGET_FEATURE_SSSE3)
# if defined(__SSE4_2__)
# define LZO_TARGET_FEATURE_SSE4_2 1
# endif
# endif
# endif
# if !defined(LZO_TARGET_FEATURE_AVX)
# if (LZO_TARGET_FEATURE_SSSE3)
# if defined(__AVX__)
# define LZO_TARGET_FEATURE_AVX 1
# endif
# endif
# endif
# if !defined(LZO_TARGET_FEATURE_AVX2)
# if (LZO_TARGET_FEATURE_AVX)
# if defined(__AVX2__)
# define LZO_TARGET_FEATURE_AVX2 1
# endif
# endif
# endif
#endif
#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2))
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3))
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3))
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX))
# error "unexpected configuration - check your compiler defines"
#endif
#if (LZO_ARCH_ARM)
# if !defined(LZO_TARGET_FEATURE_NEON)
# if defined(__ARM_NEON) && ((__ARM_NEON)+0)
# define LZO_TARGET_FEATURE_NEON 1
# elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0)
# define LZO_TARGET_FEATURE_NEON 1
# elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0)
# define LZO_TARGET_FEATURE_NEON 1
# endif
# endif
#elif (LZO_ARCH_ARM64)
# if !defined(LZO_TARGET_FEATURE_NEON)
# if 1
# define LZO_TARGET_FEATURE_NEON 1
# endif
# endif # endif
#endif #endif
#if !defined(__LZO_MM_OVERRIDE) #if 0
#elif !defined(__LZO_MM_OVERRIDE)
#if (LZO_ARCH_I086) #if (LZO_ARCH_I086)
#if (UINT_MAX != LZO_0xffffL) #if (UINT_MAX != LZO_0xffffL)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
#endif #endif
#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) #if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
# define LZO_MM_TINY 1 # define LZO_MM_TINY 1
#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86 HM) #elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86 HM)
# define LZO_MM_HUGE 1 # define LZO_MM_HUGE 1
#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMA LL_MODEL) #elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMA LL_MODEL)
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) #elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
# define LZO_MM_MEDIUM 1 # define LZO_MM_MEDIUM 1
#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) #elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
skipping to change at line 878 skipping to change at line 1162
# elif defined(_LARGE_CODE) # elif defined(_LARGE_CODE)
# define LZO_MM_MEDIUM 1 # define LZO_MM_MEDIUM 1
# elif defined(_LARGE_DATA) # elif defined(_LARGE_DATA)
# define LZO_MM_COMPACT 1 # define LZO_MM_COMPACT 1
# else # else
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
# endif # endif
#elif (LZO_CC_ZORTECHC && defined(__VCM__)) #elif (LZO_CC_ZORTECHC && defined(__VCM__))
# define LZO_MM_LARGE 1 # define LZO_MM_LARGE 1
#else #else
# error "unknown memory model" # error "unknown LZO_ARCH_I086 memory model"
#endif #endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) #if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#define LZO_HAVE_MM_HUGE_PTR 1 #define LZO_HAVE_MM_HUGE_PTR 1
#define LZO_HAVE_MM_HUGE_ARRAY 1 #define LZO_HAVE_MM_HUGE_ARRAY 1
#if (LZO_MM_TINY) #if (LZO_MM_TINY)
# undef LZO_HAVE_MM_HUGE_ARRAY # undef LZO_HAVE_MM_HUGE_ARRAY
#endif #endif
#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) #if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
# undef LZO_HAVE_MM_HUGE_PTR # undef LZO_HAVE_MM_HUGE_PTR
# undef LZO_HAVE_MM_HUGE_ARRAY # undef LZO_HAVE_MM_HUGE_ARRAY
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC) #elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
# undef LZO_HAVE_MM_HUGE_ARRAY # undef LZO_HAVE_MM_HUGE_ARRAY
#elif (LZO_CC_MSC && defined(_QC)) #elif (LZO_CC_MSC && defined(_QC))
# undef LZO_HAVE_MM_HUGE_ARRAY # undef LZO_HAVE_MM_HUGE_ARRAY
# if (_MSC_VER < 600) # if (_MSC_VER < 600)
# undef LZO_HAVE_MM_HUGE_PTR # undef LZO_HAVE_MM_HUGE_PTR
# endif # endif
#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) #elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
# undef LZO_HAVE_MM_HUGE_ARRAY # undef LZO_HAVE_MM_HUGE_ARRAY
#endif #endif
#if (LZO_ARCH_I086PM) && !defined(LZO_HAVE_MM_HUGE_PTR) #if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR)
# if (LZO_OS_DOS16) # if (LZO_OS_DOS16)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# elif (LZO_CC_ZORTECHC) # elif (LZO_CC_ZORTECHC)
# else # else
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
# endif # endif
#endif #endif
#ifdef __cplusplus #if defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) #if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
extern void __near __cdecl _AHSHIFT(void); extern void __near __cdecl _AHSHIFT(void);
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) #elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
extern void __near __cdecl _AHSHIFT(void); extern void __near __cdecl _AHSHIFT(void);
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) #elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
extern void __near __cdecl _AHSHIFT(void); extern void __near __cdecl _AHSHIFT(void);
skipping to change at line 930 skipping to change at line 1214
extern void __near __cdecl _AHSHIFT(void); extern void __near __cdecl _AHSHIFT(void);
# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) # define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT)
#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) #elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
# define LZO_MM_AHSHIFT 12 # define LZO_MM_AHSHIFT 12
#elif (LZO_CC_WATCOMC) #elif (LZO_CC_WATCOMC)
extern unsigned char _HShift; extern unsigned char _HShift;
# define LZO_MM_AHSHIFT ((unsigned) _HShift) # define LZO_MM_AHSHIFT ((unsigned) _HShift)
#else #else
# error "FIXME - implement LZO_MM_AHSHIFT" # error "FIXME - implement LZO_MM_AHSHIFT"
#endif #endif
#ifdef __cplusplus #if defined(__cplusplus)
} }
#endif #endif
#endif #endif
#elif (LZO_ARCH_C166) #elif (LZO_ARCH_C166)
#if !defined(__MODEL__) #if !defined(__MODEL__)
# error "FIXME - C166 __MODEL__" # error "FIXME - LZO_ARCH_C166 __MODEL__"
#elif ((__MODEL__) == 0) #elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
#elif ((__MODEL__) == 1) #elif ((__MODEL__) == 1)
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2) #elif ((__MODEL__) == 2)
# define LZO_MM_LARGE 1 # define LZO_MM_LARGE 1
#elif ((__MODEL__) == 3) #elif ((__MODEL__) == 3)
# define LZO_MM_TINY 1 # define LZO_MM_TINY 1
#elif ((__MODEL__) == 4) #elif ((__MODEL__) == 4)
# define LZO_MM_XTINY 1 # define LZO_MM_XTINY 1
#elif ((__MODEL__) == 5) #elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1 # define LZO_MM_XSMALL 1
#else #else
# error "FIXME - C166 __MODEL__" # error "FIXME - LZO_ARCH_C166 __MODEL__"
#endif #endif
#elif (LZO_ARCH_MCS251) #elif (LZO_ARCH_MCS251)
#if !defined(__MODEL__) #if !defined(__MODEL__)
# error "FIXME - MCS251 __MODEL__" # error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#elif ((__MODEL__) == 0) #elif ((__MODEL__) == 0)
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2) #elif ((__MODEL__) == 2)
# define LZO_MM_LARGE 1 # define LZO_MM_LARGE 1
#elif ((__MODEL__) == 3) #elif ((__MODEL__) == 3)
# define LZO_MM_TINY 1 # define LZO_MM_TINY 1
#elif ((__MODEL__) == 4) #elif ((__MODEL__) == 4)
# define LZO_MM_XTINY 1 # define LZO_MM_XTINY 1
#elif ((__MODEL__) == 5) #elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1 # define LZO_MM_XSMALL 1
#else #else
# error "FIXME - MCS251 __MODEL__" # error "FIXME - LZO_ARCH_MCS251 __MODEL__"
#endif #endif
#elif (LZO_ARCH_MCS51) #elif (LZO_ARCH_MCS51)
#if !defined(__MODEL__) #if !defined(__MODEL__)
# error "FIXME - MCS51 __MODEL__" # error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#elif ((__MODEL__) == 1) #elif ((__MODEL__) == 1)
# define LZO_MM_SMALL 1 # define LZO_MM_SMALL 1
#elif ((__MODEL__) == 2) #elif ((__MODEL__) == 2)
# define LZO_MM_LARGE 1 # define LZO_MM_LARGE 1
#elif ((__MODEL__) == 3) #elif ((__MODEL__) == 3)
# define LZO_MM_TINY 1 # define LZO_MM_TINY 1
#elif ((__MODEL__) == 4) #elif ((__MODEL__) == 4)
# define LZO_MM_XTINY 1 # define LZO_MM_XTINY 1
#elif ((__MODEL__) == 5) #elif ((__MODEL__) == 5)
# define LZO_MM_XSMALL 1 # define LZO_MM_XSMALL 1
#else #else
# error "FIXME - MCS51 __MODEL__" # error "FIXME - LZO_ARCH_MCS51 __MODEL__"
#endif #endif
#elif (LZO_ARCH_CRAY_PVP) #elif (LZO_ARCH_CRAY_PVP)
# define LZO_MM_PVP 1 # define LZO_MM_PVP 1
#else #else
# define LZO_MM_FLAT 1 # define LZO_MM_FLAT 1
#endif #endif
#if (LZO_MM_COMPACT) #if (LZO_MM_COMPACT)
# define LZO_INFO_MM "compact" # define LZO_INFO_MM "compact"
#elif (LZO_MM_FLAT) #elif (LZO_MM_FLAT)
# define LZO_INFO_MM "flat" # define LZO_INFO_MM "flat"
skipping to change at line 1009 skipping to change at line 1293
#elif (LZO_MM_PVP) #elif (LZO_MM_PVP)
# define LZO_INFO_MM "pvp" # define LZO_INFO_MM "pvp"
#elif (LZO_MM_SMALL) #elif (LZO_MM_SMALL)
# define LZO_INFO_MM "small" # define LZO_INFO_MM "small"
#elif (LZO_MM_TINY) #elif (LZO_MM_TINY)
# define LZO_INFO_MM "tiny" # define LZO_INFO_MM "tiny"
#else #else
# error "unknown memory model" # error "unknown memory model"
#endif #endif
#endif #endif
#if !defined(__lzo_gnuc_extension__)
#if (LZO_CC_GNUC >= 0x020800ul)
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_IBMC >= 600)
# define __lzo_gnuc_extension__ __extension__
#endif
#endif
#if !defined(__lzo_gnuc_extension__)
# define __lzo_gnuc_extension__ /*empty*/
#endif
#if !defined(lzo_has_builtin)
#if (LZO_CC_CLANG) && defined(__has_builtin)
# define lzo_has_builtin __has_builtin
#endif
#endif
#if !defined(lzo_has_builtin)
# define lzo_has_builtin(x) 0
#endif
#if !defined(lzo_has_attribute)
#if (LZO_CC_CLANG) && defined(__has_attribute)
# define lzo_has_attribute __has_attribute
#endif
#endif
#if !defined(lzo_has_attribute)
# define lzo_has_attribute(x) 0
#endif
#if !defined(lzo_has_declspec_attribute)
#if (LZO_CC_CLANG) && defined(__has_declspec_attribute)
# define lzo_has_declspec_attribute __has_declspec_attribute
#endif
#endif
#if !defined(lzo_has_declspec_attribute)
# define lzo_has_declspec_attribute(x) 0
#endif
#if !defined(lzo_has_feature)
#if (LZO_CC_CLANG) && defined(__has_feature)
# define lzo_has_feature __has_feature
#endif
#endif
#if !defined(lzo_has_feature)
# define lzo_has_feature(x) 0
#endif
#if !defined(lzo_has_extension)
#if (LZO_CC_CLANG) && defined(__has_extension)
# define lzo_has_extension __has_extension
#elif (LZO_CC_CLANG) && defined(__has_feature)
# define lzo_has_extension __has_feature
#endif
#endif
#if !defined(lzo_has_extension)
# define lzo_has_extension(x) 0
#endif
#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
# define LZO_CFG_USE_NEW_STYLE_CASTS 0
# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200))
# define LZO_CFG_USE_NEW_STYLE_CASTS 0
# else
# define LZO_CFG_USE_NEW_STYLE_CASTS 1
# endif
#endif
#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_CFG_USE_NEW_STYLE_CASTS 0
#endif
#if !defined(__cplusplus)
# if defined(LZO_CFG_USE_NEW_STYLE_CASTS)
# undef LZO_CFG_USE_NEW_STYLE_CASTS
# endif
# define LZO_CFG_USE_NEW_STYLE_CASTS 0
#endif
#if !defined(LZO_REINTERPRET_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast<t> (e))
# endif
#endif
#if !defined(LZO_REINTERPRET_CAST)
# define LZO_REINTERPRET_CAST(t,e) ((t) (e))
#endif
#if !defined(LZO_STATIC_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_STATIC_CAST(t,e) (static_cast<t> (e))
# endif
#endif
#if !defined(LZO_STATIC_CAST)
# define LZO_STATIC_CAST(t,e) ((t) (e))
#endif
#if !defined(LZO_STATIC_CAST2)
# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(
t2, e))
#endif
#if !defined(LZO_UNCONST_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_UNCONST_CAST(t,e) (const_cast<t> (e))
# elif (LZO_HAVE_MM_HUGE_PTR)
# define LZO_UNCONST_CAST(t,e) ((t) (e))
# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_
CC_PATHSCALE)
# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((co
nst void *) (e)))))
# endif
#endif
#if !defined(LZO_UNCONST_CAST)
# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))
)
#endif
#if !defined(LZO_UNCONST_VOLATILE_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast<t> (e))
# elif (LZO_HAVE_MM_HUGE_PTR)
# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e))
# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_
CC_PATHSCALE)
# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintpt
r_t) ((volatile const void *) (e)))))
# endif
#endif
#if !defined(LZO_UNCONST_VOLATILE_CAST)
# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile c
onst void *) (e))))
#endif
#if !defined(LZO_UNVOLATILE_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_UNVOLATILE_CAST(t,e) (const_cast<t> (e))
# elif (LZO_HAVE_MM_HUGE_PTR)
# define LZO_UNVOLATILE_CAST(t,e) ((t) (e))
# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_
CC_PATHSCALE)
# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((vo
latile void *) (e)))))
# endif
#endif
#if !defined(LZO_UNVOLATILE_CAST)
# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e
))))
#endif
#if !defined(LZO_UNVOLATILE_CONST_CAST)
# if (LZO_CFG_USE_NEW_STYLE_CASTS)
# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast<t> (e))
# elif (LZO_HAVE_MM_HUGE_PTR)
# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e))
# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_
CC_PATHSCALE)
# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t
) ((volatile const void *) (e)))))
# endif
#endif
#if !defined(LZO_UNVOLATILE_CONST_CAST)
# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile cons
t void *) (e))))
#endif
#if !defined(LZO_PCAST)
# if (LZO_HAVE_MM_HUGE_PTR)
# define LZO_PCAST(t,e) ((t) (e))
# endif
#endif
#if !defined(LZO_PCAST)
# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(v
oid *, e))
#endif
#if !defined(LZO_CCAST)
# if (LZO_HAVE_MM_HUGE_PTR)
# define LZO_CCAST(t,e) ((t) (e))
# endif
#endif
#if !defined(LZO_CCAST)
# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(c
onst void *, e))
#endif
#if !defined(LZO_ICONV)
# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e)
#endif
#if !defined(LZO_ICAST)
# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e)
#endif
#if !defined(LZO_ITRUNC)
# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e)
#endif
#if !defined(__lzo_cte)
# if (LZO_CC_MSC || LZO_CC_WATCOMC)
# define __lzo_cte(e) ((void)0,(e))
# elif 1
# define __lzo_cte(e) ((void)0,(e))
# endif
#endif
#if !defined(__lzo_cte)
# define __lzo_cte(e) (e)
#endif
#if !defined(LZO_BLOCK_BEGIN)
# define LZO_BLOCK_BEGIN do {
# define LZO_BLOCK_END } while __lzo_cte(0)
#endif
#if !defined(LZO_UNUSED)
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED(var) ((void) &var)
# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO
_CC_TURBOC)
# define LZO_UNUSED(var) if (&var) ; else
# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul))
# define LZO_UNUSED(var) ((void) &var)
# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define LZO_UNUSED(var) ((void) var)
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_UNUSED(var) if (&var) ; else
# elif (LZO_CC_KEILC)
# define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0
)]; (void)lzo_unused__;}
# elif (LZO_CC_PACIFICC)
# define LZO_UNUSED(var) ((void) sizeof(var))
# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
# define LZO_UNUSED(var) ((void) var)
# else
# define LZO_UNUSED(var) ((void) &var)
# endif
#endif
#if !defined(LZO_UNUSED_RESULT)
# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var)
#endif
#if !defined(LZO_UNUSED_FUNC)
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED_FUNC(func) ((void) func)
# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
# define LZO_UNUSED_FUNC(func) if (func) ; else
# elif (LZO_CC_CLANG || LZO_CC_LLVM)
# define LZO_UNUSED_FUNC(func) ((void) &func)
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_UNUSED_FUNC(func) if (func) ; else
# elif (LZO_CC_MSC)
# define LZO_UNUSED_FUNC(func) ((void) &func)
# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
# define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)f
unc)>0)]; (void)lzo_unused__;}
# else
# define LZO_UNUSED_FUNC(func) ((void) func)
# endif
#endif
#if !defined(LZO_UNUSED_LABEL)
# if (LZO_CC_CLANG >= 0x020800ul)
# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void
*) &&l)))
# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l
# else
# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l
# endif
#endif
#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
# if 0
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
# elif 0 && (LZO_CC_GNUC)
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
# else
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
# endif
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
# define __lzo_inline inline
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
# define __lzo_inline __inline
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_C
C_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_inline __inline__
#elif (LZO_CC_DMC)
# define __lzo_inline __inline
#elif (LZO_CC_GHS)
# define __lzo_inline __inline__
#elif (LZO_CC_IBMC >= 600)
# define __lzo_inline __inline__
#elif (LZO_CC_INTELC)
# define __lzo_inline __inline
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
# define __lzo_inline __inline
#elif (LZO_CC_MSC && (_MSC_VER >= 900))
# define __lzo_inline __inline
#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_inline __inline__
#endif
#endif
#if defined(__lzo_inline)
# ifndef __lzo_HAVE_inline
# define __lzo_HAVE_inline 1
# endif
#else
# define __lzo_inline /*empty*/
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_IBMC >= 700)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_forceinline __forceinline
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
#elif (LZO_CC_PGI >= 0x0d0a00ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#endif
#endif
#if defined(__lzo_forceinline)
# ifndef __lzo_HAVE_forceinline
# define __lzo_HAVE_forceinline 1
# endif
#else
# define __lzo_forceinline __lzo_inline
#endif
#if !defined(__lzo_noinline)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x0400
03ul)
# define __lzo_noinline __attribute__((__noinline__,__used__))
#elif (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_IBMC >= 700)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)
)
# if defined(__cplusplus)
# else
# define __lzo_noinline __declspec(noinline)
# endif
#elif (LZO_CC_PGI >= 0x0d0a00ul)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_noinline __attribute__((__noinline__))
#endif
#endif
#if defined(__lzo_noinline)
# ifndef __lzo_HAVE_noinline
# define __lzo_HAVE_noinline 1
# endif
#else
# define __lzo_noinline /*empty*/
#endif
#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline)
# error "unexpected configuration - check your compiler defines"
#endif
#if !defined(__lzo_static_inline)
#if (LZO_CC_IBMC)
# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline
#endif
#endif
#if !defined(__lzo_static_inline)
# define __lzo_static_inline static __lzo_inline
#endif
#if !defined(__lzo_static_forceinline)
#if (LZO_CC_IBMC)
# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinl
ine
#endif
#endif
#if !defined(__lzo_static_forceinline)
# define __lzo_static_forceinline static __lzo_forceinline
#endif
#if !defined(__lzo_static_noinline)
#if (LZO_CC_IBMC)
# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline
#endif
#endif
#if !defined(__lzo_static_noinline)
# define __lzo_static_noinline static __lzo_noinline
#endif
#if !defined(__lzo_c99_extern_inline)
#if defined(__GNUC_GNU_INLINE__)
# define __lzo_c99_extern_inline __lzo_inline
#elif defined(__GNUC_STDC_INLINE__)
# define __lzo_c99_extern_inline extern __lzo_inline
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
# define __lzo_c99_extern_inline extern __lzo_inline
#endif
#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline)
# define __lzo_c99_extern_inline __lzo_inline
#endif
#endif
#if defined(__lzo_c99_extern_inline)
# ifndef __lzo_HAVE_c99_extern_inline
# define __lzo_HAVE_c99_extern_inline 1
# endif
#else
# define __lzo_c99_extern_inline /*empty*/
#endif
#if !defined(__lzo_may_alias)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_may_alias __attribute__((__may_alias__))
#elif (LZO_CC_CLANG >= 0x020900ul)
# define __lzo_may_alias __attribute__((__may_alias__))
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0
# define __lzo_may_alias __attribute__((__may_alias__))
#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0
# define __lzo_may_alias __attribute__((__may_alias__))
#endif
#endif
#if defined(__lzo_may_alias)
# ifndef __lzo_HAVE_may_alias
# define __lzo_HAVE_may_alias 1
# endif
#else
# define __lzo_may_alias /*empty*/
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_IBMC >= 700)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
# define __lzo_noreturn __declspec(noreturn)
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
#elif (LZO_CC_PGI >= 0x0d0a00ul)
# define __lzo_noreturn __attribute__((__noreturn__))
#endif
#endif
#if defined(__lzo_noreturn)
# ifndef __lzo_HAVE_noreturn
# define __lzo_HAVE_noreturn 1
# endif
#else
# define __lzo_noreturn /*empty*/
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900))
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
# ifndef __lzo_HAVE_nothrow
# define __lzo_HAVE_nothrow 1
# endif
#else
# define __lzo_nothrow /*empty*/
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_restrict __restrict__
#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus)
# define __lzo_restrict __restrict__
#elif (LZO_CC_IBMC >= 1210)
# define __lzo_restrict __restrict__
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
# define __lzo_restrict __restrict__
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
#elif (LZO_CC_PGI >= 0x0d0a00ul)
# define __lzo_restrict __restrict__
#endif
#endif
#if defined(__lzo_restrict)
# ifndef __lzo_HAVE_restrict
# define __lzo_HAVE_restrict 1
# endif
#else
# define __lzo_restrict /*empty*/
#endif
#if !defined(__lzo_alignof)
#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM
|| LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_GHS) && !defined(__cplusplus)
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_IBMC >= 600)
# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_alignof(e) __alignof(e)
#elif (LZO_CC_SUNPROC >= 0x5100)
# define __lzo_alignof(e) __alignof__(e)
#endif
#endif
#if defined(__lzo_alignof)
# ifndef __lzo_HAVE_alignof
# define __lzo_HAVE_alignof 1
# endif
#endif
#if !defined(__lzo_struct_packed)
#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZ
O_ARCH_I386)
# define __lzo_struct_packed(s) struct s {
# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed
__));
# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_s
truct__,__packed__));
#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))
# define __lzo_struct_packed(s) struct s {
# define __lzo_struct_packed_end() } __attribute__((__packed__));
# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packe
d__));
#elif (LZO_CC_IBMC >= 700)
# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s {
# define __lzo_struct_packed_end() } __attribute__((__packed__));
# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packe
d__));
#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s {
# define __lzo_struct_packed_end() } __pragma(pack(pop));
#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
# define __lzo_struct_packed(s) _Packed struct s {
# define __lzo_struct_packed_end() };
#endif
#endif
#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma)
# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s)
#endif
#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end)
# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end()
#endif
#if !defined(__lzo_byte_struct)
#if defined(__lzo_struct_packed)
# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n
]; __lzo_struct_packed_end()
# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char
a[n]; __lzo_struct_packed_ma_end()
#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100))
# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attri
bute__((__packed__));
# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_m
ay_alias __attribute__((__packed__));
#endif
#endif
#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma)
# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n)
#endif
#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof)
#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))
#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
#elif (LZO_CC_CILLY || LZO_CC_PCC)
#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_struct_align16(s) struct __declspec(align(16)) s {
# define __lzo_struct_align16_end() };
# define __lzo_struct_align32(s) struct __declspec(align(32)) s {
# define __lzo_struct_align32_end() };
# define __lzo_struct_align64(s) struct __declspec(align(64)) s {
# define __lzo_struct_align64_end() };
#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZ
O_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_struct_align16(s) struct s {
# define __lzo_struct_align16_end() } __attribute__((__aligned__(16)));
# define __lzo_struct_align32(s) struct s {
# define __lzo_struct_align32_end() } __attribute__((__aligned__(32)));
# define __lzo_struct_align64(s) struct s {
# define __lzo_struct_align64_end() } __attribute__((__aligned__(64)));
#endif
#endif
#if !defined(__lzo_union_um)
#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul))
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810))
#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul))
#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
#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))
# define __lzo_union_am(s) union s {
# define __lzo_union_am_end() } __lzo_may_alias;
# define __lzo_union_um(s) union s {
# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packe
d__));
#elif (LZO_CC_IBMC >= 700)
# define __lzo_union_am(s) __lzo_gnuc_extension__ union s {
# define __lzo_union_am_end() } __lzo_may_alias;
# define __lzo_union_um(s) __lzo_gnuc_extension__ union s {
# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packe
d__));
#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_union_um(s) __pragma(pack(push,1)) union s {
# define __lzo_union_um_end() } __pragma(pack(pop));
#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900))
# define __lzo_union_um(s) _Packed union s {
# define __lzo_union_um_end() };
#endif
#endif
#if !defined(__lzo_union_am)
# define __lzo_union_am(s) union s {
# define __lzo_union_am_end() };
#endif
#if !defined(__lzo_constructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#endif
#if defined(__lzo_constructor)
# ifndef __lzo_HAVE_constructor
# define __lzo_HAVE_constructor 1
# endif
#endif
#if !defined(__lzo_destructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
#endif
#endif
#if defined(__lzo_destructor)
# ifndef __lzo_HAVE_destructor
# define __lzo_HAVE_destructor 1
# endif
#endif
#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
# error "unexpected configuration - check your compiler defines"
#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_IBMC >= 1010)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2)
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
# ifndef __lzo_HAVE_likely
# define __lzo_HAVE_likely 1
# endif
#else
# define __lzo_likely(e) (e)
#endif
#if defined(__lzo_very_likely)
# ifndef __lzo_HAVE_very_likely
# define __lzo_HAVE_very_likely 1
# endif
#else
# define __lzo_very_likely(e) __lzo_likely(e)
#endif
#if defined(__lzo_unlikely)
# ifndef __lzo_HAVE_unlikely
# define __lzo_HAVE_unlikely 1
# endif
#else
# define __lzo_unlikely(e) (e)
#endif
#if defined(__lzo_very_unlikely)
# ifndef __lzo_HAVE_very_unlikely
# define __lzo_HAVE_very_unlikely 1
# endif
#else
# define __lzo_very_unlikely(e) __lzo_unlikely(e)
#endif
#if !defined(__lzo_loop_forever)
# if (LZO_CC_IBMC)
# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END
# else
# define __lzo_loop_forever() do { ; } while __lzo_cte(1)
# endif
#endif
#if !defined(__lzo_unreachable)
#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_
unreachable)
# define __lzo_unreachable() __builtin_unreachable();
#elif (LZO_CC_GNUC >= 0x040500ul)
# define __lzo_unreachable() __builtin_unreachable();
#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1
# define __lzo_unreachable() __builtin_unreachable();
#endif
#endif
#if defined(__lzo_unreachable)
# ifndef __lzo_HAVE_unreachable
# define __lzo_HAVE_unreachable 1
# endif
#else
# if 0
# define __lzo_unreachable() ((void)0);
# else
# define __lzo_unreachable() __lzo_loop_forever();
# endif
#endif
#if !defined(lzo_unused_funcs_impl)
# 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)
# define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f
# elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC)
# define lzo_unused_funcs_impl(r,f) static r f
# else
# define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f
# endif
#endif
#ifndef __LZO_CTA_NAME
#if (LZO_CFG_USE_COUNTER)
# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__)
#else
# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__)
#endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __L
ZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __L
ZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __L
ZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END
# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus)
# 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
# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CT
A_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END
# else
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __L
ZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END
# endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT)
# if (LZO_CC_AZTECC)
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)
[1-!(e)];}
# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul))
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)
[1-2*!(e)] __attribute__((__unused__));}
# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));}
# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusp
lus)
# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(
e)} __attribute__((__unused__));}
# elif (LZO_CC_GNUC >= 0x040700ul)
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)
[1-2*!(e)] __attribute__((__unused__));}
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# else
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)
[1-2*!(e)];}
# endif
#endif
#if (LZO_LANG_ASSEMBLER)
# undef LZO_COMPILE_TIME_ASSERT_HEADER
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/
#else
LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1)
#if defined(__cplusplus)
extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
#endif
LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
#endif
#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)
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
# define __lzo_cdecl __cdecl
# define __lzo_cdecl_atexit /*empty*/
# define __lzo_cdecl_main __cdecl
# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
# define __lzo_cdecl_qsort __pascal
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
# define __lzo_cdecl_qsort _stdcall
# else
# define __lzo_cdecl_qsort __cdecl
# endif
# elif (LZO_CC_WATCOMC)
# define __lzo_cdecl __cdecl
# else
# define __lzo_cdecl __cdecl
# define __lzo_cdecl_atexit __cdecl
# define __lzo_cdecl_main __cdecl
# define __lzo_cdecl_qsort __cdecl
# endif
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_W
ATCOMC)
# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
# define __lzo_cdecl_sighandler __pascal
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
# define __lzo_cdecl_sighandler _stdcall
# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
# define __lzo_cdecl_sighandler __clrcall
# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
# if defined(_DLL)
# define __lzo_cdecl_sighandler _far _cdecl _loadds
# elif defined(_MT)
# define __lzo_cdecl_sighandler _far _cdecl
# else
# define __lzo_cdecl_sighandler _cdecl
# endif
# else
# define __lzo_cdecl_sighandler __cdecl
# endif
#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
# define __lzo_cdecl __cdecl
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
# define __lzo_cdecl cdecl
#endif
#if !defined(__lzo_cdecl)
# define __lzo_cdecl /*empty*/
#endif
#if !defined(__lzo_cdecl_atexit)
# define __lzo_cdecl_atexit /*empty*/
#endif
#if !defined(__lzo_cdecl_main)
# define __lzo_cdecl_main /*empty*/
#endif
#if !defined(__lzo_cdecl_qsort)
# define __lzo_cdecl_qsort /*empty*/
#endif
#if !defined(__lzo_cdecl_sighandler)
# define __lzo_cdecl_sighandler /*empty*/
#endif
#if !defined(__lzo_cdecl_va)
# define __lzo_cdecl_va __lzo_cdecl
#endif
#if !(LZO_CFG_NO_WINDOWS_H)
#if !defined(LZO_HAVE_WINDOWS_H)
#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_
OS_WIN64)
# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
# elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0
x030000ul)))
# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC
< 0x025f00ul)))
# else
# define LZO_HAVE_WINDOWS_H 1
# endif
#endif
#endif
#endif
#define LZO_SIZEOF_CHAR 1
#ifndef LZO_SIZEOF_SHORT
#if defined(SIZEOF_SHORT) #if defined(SIZEOF_SHORT)
# define LZO_SIZEOF_SHORT (SIZEOF_SHORT) # define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
#elif defined(__SIZEOF_SHORT__)
# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__)
#endif
#endif #endif
#ifndef LZO_SIZEOF_INT
#if defined(SIZEOF_INT) #if defined(SIZEOF_INT)
# define LZO_SIZEOF_INT (SIZEOF_INT) # define LZO_SIZEOF_INT (SIZEOF_INT)
#elif defined(__SIZEOF_INT__)
# define LZO_SIZEOF_INT (__SIZEOF_INT__)
#endif
#endif #endif
#ifndef LZO_SIZEOF_LONG
#if defined(SIZEOF_LONG) #if defined(SIZEOF_LONG)
# define LZO_SIZEOF_LONG (SIZEOF_LONG) # define LZO_SIZEOF_LONG (SIZEOF_LONG)
#elif defined(__SIZEOF_LONG__)
# define LZO_SIZEOF_LONG (__SIZEOF_LONG__)
#endif #endif
#endif
#ifndef LZO_SIZEOF_LONG_LONG
#if defined(SIZEOF_LONG_LONG) #if defined(SIZEOF_LONG_LONG)
# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) # define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
#elif defined(__SIZEOF_LONG_LONG__)
# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__)
#endif
#endif #endif
#ifndef LZO_SIZEOF___INT16
#if defined(SIZEOF___INT16) #if defined(SIZEOF___INT16)
# define LZO_SIZEOF___INT16 (SIZEOF___INT16) # define LZO_SIZEOF___INT16 (SIZEOF___INT16)
#endif #endif
#endif
#ifndef LZO_SIZEOF___INT32
#if defined(SIZEOF___INT32) #if defined(SIZEOF___INT32)
# define LZO_SIZEOF___INT32 (SIZEOF___INT32) # define LZO_SIZEOF___INT32 (SIZEOF___INT32)
#endif #endif
#endif
#ifndef LZO_SIZEOF___INT64
#if defined(SIZEOF___INT64) #if defined(SIZEOF___INT64)
# define LZO_SIZEOF___INT64 (SIZEOF___INT64) # define LZO_SIZEOF___INT64 (SIZEOF___INT64)
#endif #endif
#endif
#ifndef LZO_SIZEOF_VOID_P
#if defined(SIZEOF_VOID_P) #if defined(SIZEOF_VOID_P)
# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) # define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P)
#elif defined(__SIZEOF_POINTER__)
# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__)
#endif #endif
#endif
#ifndef LZO_SIZEOF_SIZE_T
#if defined(SIZEOF_SIZE_T) #if defined(SIZEOF_SIZE_T)
# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) # define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
#elif defined(__SIZEOF_SIZE_T__)
# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__)
#endif
#endif #endif
#ifndef LZO_SIZEOF_PTRDIFF_T
#if defined(SIZEOF_PTRDIFF_T) #if defined(SIZEOF_PTRDIFF_T)
# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) # define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
#elif defined(__SIZEOF_PTRDIFF_T__)
# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__)
#endif
#endif #endif
#define __LZO_LSR(x,b) (((x)+0ul) >> (b)) #define __LZO_LSR(x,b) (((x)+0ul) >> (b))
#if !defined(LZO_SIZEOF_SHORT) #if !defined(LZO_SIZEOF_SHORT)
# if (LZO_ARCH_CRAY_PVP) # if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_SHORT 8 # define LZO_SIZEOF_SHORT 8
# elif (USHRT_MAX == LZO_0xffffL) # elif (USHRT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_SHORT 2 # define LZO_SIZEOF_SHORT 2
# elif (__LZO_LSR(USHRT_MAX,7) == 1) # elif (__LZO_LSR(USHRT_MAX,7) == 1)
# define LZO_SIZEOF_SHORT 1 # define LZO_SIZEOF_SHORT 1
# elif (__LZO_LSR(USHRT_MAX,15) == 1) # elif (__LZO_LSR(USHRT_MAX,15) == 1)
skipping to change at line 1059 skipping to change at line 2195
# elif (__LZO_LSR(USHRT_MAX,31) == 1) # elif (__LZO_LSR(USHRT_MAX,31) == 1)
# define LZO_SIZEOF_SHORT 4 # define LZO_SIZEOF_SHORT 4
# elif (__LZO_LSR(USHRT_MAX,63) == 1) # elif (__LZO_LSR(USHRT_MAX,63) == 1)
# define LZO_SIZEOF_SHORT 8 # define LZO_SIZEOF_SHORT 8
# elif (__LZO_LSR(USHRT_MAX,127) == 1) # elif (__LZO_LSR(USHRT_MAX,127) == 1)
# define LZO_SIZEOF_SHORT 16 # define LZO_SIZEOF_SHORT 16
# else # else
# error "LZO_SIZEOF_SHORT" # error "LZO_SIZEOF_SHORT"
# endif # endif
#endif #endif
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short))
#if !defined(LZO_SIZEOF_INT) #if !defined(LZO_SIZEOF_INT)
# if (LZO_ARCH_CRAY_PVP) # if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_INT 8 # define LZO_SIZEOF_INT 8
# elif (UINT_MAX == LZO_0xffffL) # elif (UINT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_INT 2 # define LZO_SIZEOF_INT 2
# elif (UINT_MAX == LZO_0xffffffffL) # elif (UINT_MAX == LZO_0xffffffffL)
# define LZO_SIZEOF_INT 4 # define LZO_SIZEOF_INT 4
# elif (__LZO_LSR(UINT_MAX,7) == 1) # elif (__LZO_LSR(UINT_MAX,7) == 1)
# define LZO_SIZEOF_INT 1 # define LZO_SIZEOF_INT 1
# elif (__LZO_LSR(UINT_MAX,15) == 1) # elif (__LZO_LSR(UINT_MAX,15) == 1)
skipping to change at line 1080 skipping to change at line 2217
# elif (__LZO_LSR(UINT_MAX,31) == 1) # elif (__LZO_LSR(UINT_MAX,31) == 1)
# define LZO_SIZEOF_INT 4 # define LZO_SIZEOF_INT 4
# elif (__LZO_LSR(UINT_MAX,63) == 1) # elif (__LZO_LSR(UINT_MAX,63) == 1)
# define LZO_SIZEOF_INT 8 # define LZO_SIZEOF_INT 8
# elif (__LZO_LSR(UINT_MAX,127) == 1) # elif (__LZO_LSR(UINT_MAX,127) == 1)
# define LZO_SIZEOF_INT 16 # define LZO_SIZEOF_INT 16
# else # else
# error "LZO_SIZEOF_INT" # error "LZO_SIZEOF_INT"
# endif # endif
#endif #endif
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int))
#if !defined(LZO_SIZEOF_LONG) #if !defined(LZO_SIZEOF_LONG)
# if (ULONG_MAX == LZO_0xffffffffL) # if (ULONG_MAX == LZO_0xffffffffL)
# define LZO_SIZEOF_LONG 4 # define LZO_SIZEOF_LONG 4
# elif (__LZO_LSR(ULONG_MAX,7) == 1) # elif (__LZO_LSR(ULONG_MAX,7) == 1)
# define LZO_SIZEOF_LONG 1 # define LZO_SIZEOF_LONG 1
# elif (__LZO_LSR(ULONG_MAX,15) == 1) # elif (__LZO_LSR(ULONG_MAX,15) == 1)
# define LZO_SIZEOF_LONG 2 # define LZO_SIZEOF_LONG 2
# elif (__LZO_LSR(ULONG_MAX,31) == 1) # elif (__LZO_LSR(ULONG_MAX,31) == 1)
# define LZO_SIZEOF_LONG 4 # define LZO_SIZEOF_LONG 4
# elif (__LZO_LSR(ULONG_MAX,39) == 1)
# define LZO_SIZEOF_LONG 5
# elif (__LZO_LSR(ULONG_MAX,63) == 1) # elif (__LZO_LSR(ULONG_MAX,63) == 1)
# define LZO_SIZEOF_LONG 8 # define LZO_SIZEOF_LONG 8
# elif (__LZO_LSR(ULONG_MAX,127) == 1) # elif (__LZO_LSR(ULONG_MAX,127) == 1)
# define LZO_SIZEOF_LONG 16 # define LZO_SIZEOF_LONG 16
# else # else
# error "LZO_SIZEOF_LONG" # error "LZO_SIZEOF_LONG"
# endif # endif
#endif #endif
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long))
#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) # if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
# if (LZO_CC_GNUC >= 0x030300ul) # if (LZO_CC_GNUC >= 0x030300ul)
# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0) # if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0))
# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG # define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) # elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
# define LZO_SIZEOF_LONG_LONG 4 # define LZO_SIZEOF_LONG_LONG 4
# endif # endif
# endif # endif
# endif # endif
#endif #endif
#endif #endif
#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) #if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) #if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
#if (LZO_ARCH_I086 && LZO_CC_DMC) #if (LZO_ARCH_I086 && LZO_CC_DMC)
#elif (LZO_CC_CILLY) && defined(__GNUC__) #elif (LZO_CC_CILLY) && defined(__GNUC__)
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) #elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC _PATHSCALE)
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_ VER >= 1400)) #elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_ VER >= 1400))
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_OS_WIN64 || defined(_WIN64)) #elif (LZO_OS_WIN64 || defined(_WIN64))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_DMC)) #elif (LZO_ARCH_I386 && (LZO_CC_DMC))
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) #elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) #elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
skipping to change at line 1137 skipping to change at line 2278
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC _SUNPROC)) #elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC _SUNPROC))
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) #elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) #elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) #elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) #elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 6 #elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64))
4)) # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0)
== 64))
# define LZO_SIZEOF___INT64 8 # define LZO_SIZEOF___INT64 8
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) #elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) #elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64)
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) #elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) #elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
# define LZO_SIZEOF_LONG_LONG 8 # define LZO_SIZEOF_LONG_LONG 8
#endif #endif
#endif #endif
#endif #endif
#if defined(__cplusplus) && defined(LZO_CC_GNUC) #if defined(__cplusplus) && (LZO_CC_GNUC)
# if (LZO_CC_GNUC < 0x020800ul) # if (LZO_CC_GNUC < 0x020800ul)
# undef LZO_SIZEOF_LONG_LONG # undef LZO_SIZEOF_LONG_LONG
# endif # endif
#endif #endif
#if defined(LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG) #if (LZO_CFG_NO_LONG_LONG)
# undef LZO_SIZEOF_LONG_LONG
#elif defined(__NO_LONG_LONG)
# undef LZO_SIZEOF_LONG_LONG
#elif defined(_NO_LONGLONG)
# undef LZO_SIZEOF_LONG_LONG # undef LZO_SIZEOF_LONG_LONG
#endif #endif
#if !defined(LZO_SIZEOF_VOID_P) #if !defined(LZO_WORDSIZE)
#if (LZO_ARCH_I086) #if (LZO_ARCH_ALPHA)
# define __LZO_WORDSIZE 2 # define LZO_WORDSIZE 8
# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) #elif (LZO_ARCH_AMD64)
# define LZO_SIZEOF_VOID_P 2 # define LZO_WORDSIZE 8
# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) #elif (LZO_ARCH_ARM64)
# define LZO_SIZEOF_VOID_P 4 # define LZO_WORDSIZE 8
#elif (LZO_ARCH_AVR)
# define LZO_WORDSIZE 1
#elif (LZO_ARCH_H8300)
# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define LZO_WORDSIZE 4
# else # else
# error "LZO_MM" # define LZO_WORDSIZE 2
# endif # endif
#elif (LZO_ARCH_AVR || LZO_ARCH_Z80) #elif (LZO_ARCH_I086)
# define __LZO_WORDSIZE 1 # define LZO_WORDSIZE 2
#elif (LZO_ARCH_IA64)
# define LZO_WORDSIZE 8
#elif (LZO_ARCH_M16C)
# define LZO_WORDSIZE 2
#elif (LZO_ARCH_SPU)
# define LZO_WORDSIZE 4
#elif (LZO_ARCH_Z80)
# define LZO_WORDSIZE 1
#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || de
fined(__MIPS_PSX2__))
# define LZO_WORDSIZE 8
#elif (LZO_OS_OS400 || defined(__OS400__))
# define LZO_WORDSIZE 8
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
# define LZO_WORDSIZE 8
#endif
#endif
#if !defined(LZO_SIZEOF_VOID_P)
#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
# define LZO_SIZEOF_VOID_P 4
#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
# define LZO_SIZEOF_VOID_P 8
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN6
4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
# define LZO_SIZEOF_VOID_P 8
#elif defined(__LP64__) || defined(__LP64) || defined(_LP64)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
# define LZO_SIZEOF_VOID_P 8
#elif (LZO_ARCH_AVR)
# define LZO_SIZEOF_VOID_P 2 # define LZO_SIZEOF_VOID_P 2
#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) #elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
# define LZO_SIZEOF_VOID_P 2 # define LZO_SIZEOF_VOID_P 2
#elif (LZO_ARCH_H8300) #elif (LZO_ARCH_H8300)
# if defined(__NORMAL_MODE__) # if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define __LZO_WORDSIZE 4 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4)
# define LZO_SIZEOF_VOID_P 2 # if defined(__NORMAL_MODE__)
# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) # define LZO_SIZEOF_VOID_P 2
# define __LZO_WORDSIZE 4 # else
# define LZO_SIZEOF_VOID_P 4 # define LZO_SIZEOF_VOID_P 4
# endif
# else # else
# define __LZO_WORDSIZE 2 LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2)
# define LZO_SIZEOF_VOID_P 2 # define LZO_SIZEOF_VOID_P 2
# endif # endif
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) # if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT
# endif # endif
#elif (LZO_ARCH_I086)
# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
# define LZO_SIZEOF_VOID_P 2
# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
# define LZO_SIZEOF_VOID_P 4
# else
# error "invalid LZO_ARCH_I086 memory model"
# endif
#elif (LZO_ARCH_M16C) #elif (LZO_ARCH_M16C)
# define __LZO_WORDSIZE 2
# if defined(__m32c_cpu__) || defined(__m32cm_cpu__) # if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
# define LZO_SIZEOF_VOID_P 4 # define LZO_SIZEOF_VOID_P 4
# else # else
# define LZO_SIZEOF_VOID_P 2 # define LZO_SIZEOF_VOID_P 2
# endif # endif
#elif (LZO_ARCH_SPU)
# define LZO_SIZEOF_VOID_P 4
#elif (LZO_ARCH_Z80)
# define LZO_SIZEOF_VOID_P 2
#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || de fined(__MIPS_PSX2__)) #elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || de fined(__MIPS_PSX2__))
# define __LZO_WORDSIZE 8
# define LZO_SIZEOF_VOID_P 4 # define LZO_SIZEOF_VOID_P 4
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN6
4)
# define __LZO_WORDSIZE 8
# define LZO_SIZEOF_VOID_P 8
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_OS_OS400 || defined(__OS400__)) #elif (LZO_OS_OS400 || defined(__OS400__))
# define __LZO_WORDSIZE LZO_SIZEOF_LONG # if defined(__LLP64_IFC__)
# define LZO_SIZEOF_VOID_P 16 # define LZO_SIZEOF_VOID_P 8
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
# else
# define LZO_SIZEOF_VOID_P 16
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
# endif
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) #elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
# define LZO_SIZEOF_VOID_P 8 # define LZO_SIZEOF_VOID_P 8
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_ARCH_SPU)
# if 0
# define __LZO_WORDSIZE 16
# endif
# define LZO_SIZEOF_VOID_P 4
#else
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
#endif #endif
#endif #endif
#if !defined(LZO_WORDSIZE) #if !defined(LZO_SIZEOF_VOID_P)
# if defined(__LZO_WORDSIZE) # define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
# define LZO_WORDSIZE __LZO_WORDSIZE
# else
# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
# endif
#endif #endif
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *))
#if !defined(LZO_SIZEOF_SIZE_T) #if !defined(LZO_SIZEOF_SIZE_T)
#if (LZO_ARCH_I086 || LZO_ARCH_M16C) #if (LZO_ARCH_I086 || LZO_ARCH_M16C)
# define LZO_SIZEOF_SIZE_T 2 # define LZO_SIZEOF_SIZE_T 2
#else #endif
#endif
#if !defined(LZO_SIZEOF_SIZE_T)
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P # define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P
#endif #endif
#if defined(offsetof)
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t))
#endif #endif
#if !defined(LZO_SIZEOF_PTRDIFF_T) #if !defined(LZO_SIZEOF_PTRDIFF_T)
#if (LZO_ARCH_I086) #if (LZO_ARCH_I086)
# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) # if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P
# elif (LZO_MM_COMPACT || LZO_MM_LARGE) # elif (LZO_MM_COMPACT || LZO_MM_LARGE)
# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) # if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
# define LZO_SIZEOF_PTRDIFF_T 4 # define LZO_SIZEOF_PTRDIFF_T 4
# else # else
# define LZO_SIZEOF_PTRDIFF_T 2 # define LZO_SIZEOF_PTRDIFF_T 2
# endif # endif
# else # else
# error "LZO_MM" # error "invalid LZO_ARCH_I086 memory model"
# endif # endif
#else #endif
#endif
#if !defined(LZO_SIZEOF_PTRDIFF_T)
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T # define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif #endif
#if defined(offsetof)
LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#endif
#if !defined(LZO_WORDSIZE)
# define LZO_WORDSIZE LZO_SIZEOF_VOID_P
#endif #endif
#if defined(LZO_ABI_NEUTRAL_ENDIAN) #if (LZO_ABI_NEUTRAL_ENDIAN)
# undef LZO_ABI_BIG_ENDIAN # undef LZO_ABI_BIG_ENDIAN
# undef LZO_ABI_LITTLE_ENDIAN # undef LZO_ABI_LITTLE_ENDIAN
#elif !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) #elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) #if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || #elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) # define LZO_ABI_LITTLE_ENDIAN 1
#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)
# define LZO_ABI_LITTLE_ENDIAN 1 # define LZO_ABI_LITTLE_ENDIAN 1
#elif (LZO_ARCH_M68K || LZO_ARCH_S390) #elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU)
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) #elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
# if (__LITTLE_ENDIAN__ == 1) # if (__LITTLE_ENDIAN__ == 1)
# define LZO_ABI_LITTLE_ENDIAN 1 # define LZO_ABI_LITTLE_ENDIAN 1
# else # else
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
# endif # endif
#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) #elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) #elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
# define LZO_ABI_LITTLE_ENDIAN 1 # define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) #elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
# define LZO_ABI_LITTLE_ENDIAN 1 # define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC)
# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
# error "unexpected configuration - check your compiler defines"
# elif defined(__BIG_ENDIAN)
# define LZO_ABI_BIG_ENDIAN 1
# else
# define LZO_ABI_LITTLE_ENDIAN 1
# endif
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+
0)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
# define LZO_ABI_BIG_ENDIAN 1 # define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) #elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
# define LZO_ABI_LITTLE_ENDIAN 1 # define LZO_ABI_LITTLE_ENDIAN 1
#endif #endif
#endif #endif
#if defined(LZO_ABI_BIG_ENDIAN) && defined(LZO_ABI_LITTLE_ENDIAN) #if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
# error "this should not happen" # error "unexpected configuration - check your compiler defines"
#endif #endif
#if defined(LZO_ABI_BIG_ENDIAN) #if (LZO_ABI_BIG_ENDIAN)
# define LZO_INFO_ABI_ENDIAN "be" # define LZO_INFO_ABI_ENDIAN "be"
#elif defined(LZO_ABI_LITTLE_ENDIAN) #elif (LZO_ABI_LITTLE_ENDIAN)
# define LZO_INFO_ABI_ENDIAN "le" # define LZO_INFO_ABI_ENDIAN "le"
#elif defined(LZO_ABI_NEUTRAL_ENDIAN) #elif (LZO_ABI_NEUTRAL_ENDIAN)
# define LZO_INFO_ABI_ENDIAN "neutral" # define LZO_INFO_ABI_ENDIAN "neutral"
#endif #endif
#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) #if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
# define LZO_ABI_I8LP16 1 # define LZO_ABI_I8LP16 1
# define LZO_INFO_ABI_PM "i8lp16" # define LZO_INFO_ABI_PM "i8lp16"
#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) #elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
# define LZO_ABI_ILP16 1 # define LZO_ABI_ILP16 1
# define LZO_INFO_ABI_PM "ilp16" # define LZO_INFO_ABI_PM "ilp16"
#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
# define LZO_ABI_LP32 1
# define LZO_INFO_ABI_PM "lp32"
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
# define LZO_ABI_ILP32 1 # define LZO_ABI_ILP32 1
# define LZO_INFO_ABI_PM "ilp32" # define LZO_INFO_ABI_PM "ilp32"
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
# define LZO_ABI_LLP64 1 # define LZO_ABI_LLP64 1
# define LZO_INFO_ABI_PM "llp64" # define LZO_INFO_ABI_PM "llp64"
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
# define LZO_ABI_LP64 1 # define LZO_ABI_LP64 1
# define LZO_INFO_ABI_PM "lp64" # define LZO_INFO_ABI_PM "lp64"
#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) #elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
# define LZO_ABI_ILP64 1 # define LZO_ABI_ILP64 1
# define LZO_INFO_ABI_PM "ilp64" # define LZO_INFO_ABI_PM "ilp64"
#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) #elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
# define LZO_ABI_IP32L64 1 # define LZO_ABI_IP32L64 1
# define LZO_INFO_ABI_PM "ip32l64" # define LZO_INFO_ABI_PM "ip32l64"
#endif #endif
#if !defined(__LZO_LIBC_OVERRIDE) #if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8)
#if defined(LZO_LIBC_NAKED) # define LZO_ABI_IP32W64 1
# ifndef LZO_INFO_ABI_PM
# define LZO_INFO_ABI_PM "ip32w64"
# endif
#endif
#if 0
#elif !defined(__LZO_LIBC_OVERRIDE)
#if (LZO_LIBC_NAKED)
# define LZO_INFO_LIBC "naked" # define LZO_INFO_LIBC "naked"
#elif defined(LZO_LIBC_FREESTANDING) #elif (LZO_LIBC_FREESTANDING)
# define LZO_INFO_LIBC "freestanding" # define LZO_INFO_LIBC "freestanding"
#elif defined(LZO_LIBC_MOSTLY_FREESTANDING) #elif (LZO_LIBC_MOSTLY_FREESTANDING)
# define LZO_INFO_LIBC "mfreestanding" # define LZO_INFO_LIBC "mfreestanding"
#elif defined(LZO_LIBC_ISOC90) #elif (LZO_LIBC_ISOC90)
# define LZO_INFO_LIBC "isoc90" # define LZO_INFO_LIBC "isoc90"
#elif defined(LZO_LIBC_ISOC99) #elif (LZO_LIBC_ISOC99)
# define LZO_INFO_LIBC "isoc99" # define LZO_INFO_LIBC "isoc99"
#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION)
# define LZO_LIBC_ISOC90 1
# define LZO_INFO_LIBC "isoc90"
#elif defined(__dietlibc__) #elif defined(__dietlibc__)
# define LZO_LIBC_DIETLIBC 1 # define LZO_LIBC_DIETLIBC 1
# define LZO_INFO_LIBC "dietlibc" # define LZO_INFO_LIBC "dietlibc"
#elif defined(_NEWLIB_VERSION) #elif defined(_NEWLIB_VERSION)
# define LZO_LIBC_NEWLIB 1 # define LZO_LIBC_NEWLIB 1
# define LZO_INFO_LIBC "newlib" # define LZO_INFO_LIBC "newlib"
#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR __) #elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR __)
# if defined(__UCLIBC_SUBLEVEL__) # if defined(__UCLIBC_SUBLEVEL__)
# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__) # define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__ -0) * 0x100 + (__UCLIBC_SUBLEVEL__-0))
# else # else
# define LZO_LIBC_UCLIBC 0x00090bL # define LZO_LIBC_UCLIBC 0x00090bL
# endif # endif
# define LZO_INFO_LIBC "uclibc" # define LZO_INFO_LIBC "uc" "libc"
#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100) # define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x 100)
# define LZO_INFO_LIBC "glibc" # define LZO_INFO_LIBC "glibc"
#elif (LZO_CC_MWERKS) && defined(__MSL__) #elif (LZO_CC_MWERKS) && defined(__MSL__)
# define LZO_LIBC_MSL __MSL__ # define LZO_LIBC_MSL __MSL__
# define LZO_INFO_LIBC "msl" # define LZO_INFO_LIBC "msl"
#elif 1 && defined(__IAR_SYSTEMS_ICC__) #elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_LIBC_ISOC90 1 # define LZO_LIBC_ISOC90 1
# define LZO_INFO_LIBC "isoc90" # define LZO_INFO_LIBC "isoc90"
#else #else
# define LZO_LIBC_DEFAULT 1 # define LZO_LIBC_DEFAULT 1
# define LZO_INFO_LIBC "default" # define LZO_INFO_LIBC "default"
#endif #endif
#endif #endif
#if !defined(__lzo_gnuc_extension__) #if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_IN
#if (LZO_CC_GNUC >= 0x020800ul) TELC || LZO_CC_MSC || LZO_CC_PELLESC))
# define __lzo_gnuc_extension__ __extension__ # define LZO_ASM_SYNTAX_MSC 1
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE) #elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELL
# define __lzo_gnuc_extension__ __extension__ ESC))
#else #elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
# define __lzo_gnuc_extension__ #elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_
#endif PATHSCALE))
#endif # define LZO_ASM_SYNTAX_GNUC 1
#if !defined(__lzo_ua_volatile) #elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC
# define __lzo_ua_volatile volatile _PATHSCALE))
#endif # define LZO_ASM_SYNTAX_GNUC 1
#if !defined(__lzo_alignof) #elif (LZO_CC_GNUC)
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PG # define LZO_ASM_SYNTAX_GNUC 1
I)
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_alignof(e) __alignof(e)
#endif
#endif
#if defined(__lzo_alignof)
# define __lzo_HAVE_alignof 1
#endif
#if !defined(__lzo_constructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#endif
#if defined(__lzo_constructor)
# define __lzo_HAVE_constructor 1
#endif
#if !defined(__lzo_destructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
#endif
#endif
#if defined(__lzo_destructor)
# define __lzo_HAVE_destructor 1
#endif
#if defined(__lzo_HAVE_destructor) && !defined(__lzo_HAVE_constructor)
# error "this should not happen"
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
# define __lzo_inline __inline
#elif (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_
PGI)
# define __lzo_inline __inline__
#elif (LZO_CC_DMC)
# define __lzo_inline __inline
#elif (LZO_CC_INTELC)
# define __lzo_inline __inline
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
# define __lzo_inline __inline
#elif (LZO_CC_MSC && (_MSC_VER >= 900))
# define __lzo_inline __inline
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
# define __lzo_inline inline
#endif
#endif
#if defined(__lzo_inline)
# define __lzo_HAVE_inline 1
#else
# define __lzo_inline
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_forceinline __forceinline
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
#endif #endif
#if (LZO_ASM_SYNTAX_GNUC)
#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
# define __LZO_ASM_CLOBBER "ax"
# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/
# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000))
# define __LZO_ASM_CLOBBER "memory"
# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/
# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory"
# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
#else
# define __LZO_ASM_CLOBBER "cc", "memory"
# define __LZO_ASM_CLOBBER_LIST_CC : "cc"
# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory"
# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/
#endif #endif
#if defined(__lzo_forceinline)
# define __lzo_HAVE_forceinline 1
#else
# define __lzo_forceinline
#endif #endif
#if !defined(__lzo_noinline) #if (LZO_ARCH_ALPHA)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x0400 # define LZO_OPT_AVOID_UINT_INDEX 1
03ul) #elif (LZO_ARCH_AMD64)
# define __lzo_noinline __attribute__((__noinline__,__used__)) # define LZO_OPT_AVOID_INT_INDEX 1
#elif (LZO_CC_GNUC >= 0x030200ul) # define LZO_OPT_AVOID_UINT_INDEX 1
# define __lzo_noinline __attribute__((__noinline__)) # ifndef LZO_OPT_UNALIGNED16
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC) # define LZO_OPT_UNALIGNED16 1
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)
)
# if defined(__cplusplus)
# else
# define __lzo_noinline __declspec(noinline)
# endif # endif
#endif # ifndef LZO_OPT_UNALIGNED32
#endif # define LZO_OPT_UNALIGNED32 1
#if defined(__lzo_noinline)
# define __lzo_HAVE_noinline 1
#else
# define __lzo_noinline
#endif
#if (defined(__lzo_HAVE_forceinline) || defined(__lzo_HAVE_noinline)) && !define
d(__lzo_HAVE_inline)
# error "this should not happen"
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_noreturn __declspec(noreturn)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
#endif
#endif
#if defined(__lzo_noreturn)
# define __lzo_HAVE_noreturn 1
#else
# define __lzo_noreturn
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defin
ed(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
# define __lzo_HAVE_nothrow 1
#else
# define __lzo_nothrow
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_restrict __restrict__
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_restrict __restrict__
#elif (LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
#endif
#endif
#if defined(__lzo_restrict)
# define __lzo_HAVE_restrict 1
#else
# define __lzo_restrict
#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
# define __lzo_HAVE_likely 1
#else
# define __lzo_likely(e) (e)
#endif
#if defined(__lzo_unlikely)
# define __lzo_HAVE_unlikely 1
#else
# define __lzo_unlikely(e) (e)
#endif
#if !defined(LZO_UNUSED)
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED(var) ((void) &var)
# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO
_CC_TURBOC)
# define LZO_UNUSED(var) if (&var) ; else
# elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define LZO_UNUSED(var) ((void) var)
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_UNUSED(var) if (&var) ; else
# elif (LZO_CC_KEILC)
# define LZO_UNUSED(var) {extern int __lzo_unused[1-2*!(sizeof(var)>0
)];}
# elif (LZO_CC_PACIFICC)
# define LZO_UNUSED(var) ((void) sizeof(var))
# elif (LZO_CC_WATCOMC) && defined(__cplusplus)
# define LZO_UNUSED(var) ((void) var)
# else
# define LZO_UNUSED(var) ((void) &var)
# endif # endif
#endif # ifndef LZO_OPT_UNALIGNED64
#if !defined(LZO_UNUSED_FUNC) # define LZO_OPT_UNALIGNED64 1
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED_FUNC(func) ((void) func)
# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
# define LZO_UNUSED_FUNC(func) if (func) ; else
# elif (LZO_CC_LLVM)
# define LZO_UNUSED_FUNC(func) ((void) &func)
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_UNUSED_FUNC(func) if (func) ; else
# elif (LZO_CC_MSC)
# define LZO_UNUSED_FUNC(func) ((void) &func)
# elif (LZO_CC_KEILC || LZO_CC_PELLESC)
# define LZO_UNUSED_FUNC(func) {extern int __lzo_unused[1-2*!(sizeof((int)f
unc)>0)];}
# else
# define LZO_UNUSED_FUNC(func) ((void) func)
# endif # endif
#endif #elif (LZO_ARCH_ARM)
#if !defined(LZO_UNUSED_LABEL) # if defined(__ARM_FEATURE_UNALIGNED)
# if (LZO_CC_WATCOMC) && defined(__cplusplus) # if ((__ARM_FEATURE_UNALIGNED)+0)
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l # ifndef LZO_OPT_UNALIGNED16
# elif (LZO_CC_INTELC || LZO_CC_WATCOMC) # define LZO_OPT_UNALIGNED16 1
# define LZO_UNUSED_LABEL(l) if (0) goto l # endif
# else # ifndef LZO_OPT_UNALIGNED32
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l # define LZO_OPT_UNALIGNED32 1
# endif
# endif
# elif 1 && (LZO_ARCH_ARM_THUMB2)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defi
ned(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R))
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# endif # endif
#endif #elif (LZO_ARCH_ARM64)
#if !defined(LZO_DEFINE_UNINITIALIZED_VAR) # ifndef LZO_OPT_UNALIGNED16
# if 0 # define LZO_OPT_UNALIGNED16 1
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
# elif 0 && (LZO_CC_GNUC)
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
# else
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
# endif # endif
#endif # ifndef LZO_OPT_UNALIGNED32
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) # define LZO_OPT_UNALIGNED32 1
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1u-2*!(e)];
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
# else
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-2*!(e)];
# endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT)
# if (LZO_CC_AZTECC)
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-!(e)];}
# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# elif (LZO_CC_MSC && (_MSC_VER < 900))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
# else
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __lzo_cta_t[1-2*!(e)];}
# endif # endif
#endif # ifndef LZO_OPT_UNALIGNED64
#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_ # define LZO_OPT_UNALIGNED64 1
OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
# define __lzo_cdecl __cdecl
# define __lzo_cdecl_atexit
# define __lzo_cdecl_main __cdecl
# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
# define __lzo_cdecl_qsort __pascal
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
# define __lzo_cdecl_qsort _stdcall
# else
# define __lzo_cdecl_qsort __cdecl
# endif
# elif (LZO_CC_WATCOMC)
# define __lzo_cdecl __cdecl
# else
# define __lzo_cdecl __cdecl
# define __lzo_cdecl_atexit __cdecl
# define __lzo_cdecl_main __cdecl
# define __lzo_cdecl_qsort __cdecl
# endif # endif
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_W #elif (LZO_ARCH_CRIS)
ATCOMC) # ifndef LZO_OPT_UNALIGNED16
# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) # define LZO_OPT_UNALIGNED16 1
# define __lzo_cdecl_sighandler __pascal
# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
# define __lzo_cdecl_sighandler _stdcall
# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
# define __lzo_cdecl_sighandler __clrcall
# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
# if defined(_DLL)
# define __lzo_cdecl_sighandler _far _cdecl _loadds
# elif defined(_MT)
# define __lzo_cdecl_sighandler _far _cdecl
# else
# define __lzo_cdecl_sighandler _cdecl
# endif
# else
# define __lzo_cdecl_sighandler __cdecl
# endif # endif
#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) # ifndef LZO_OPT_UNALIGNED32
# define __lzo_cdecl __cdecl # define LZO_OPT_UNALIGNED32 1
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
# define __lzo_cdecl cdecl
#endif
#if !defined(__lzo_cdecl)
# define __lzo_cdecl
#endif
#if !defined(__lzo_cdecl_atexit)
# define __lzo_cdecl_atexit
#endif
#if !defined(__lzo_cdecl_main)
# define __lzo_cdecl_main
#endif
#if !defined(__lzo_cdecl_qsort)
# define __lzo_cdecl_qsort
#endif
#if !defined(__lzo_cdecl_sighandler)
# define __lzo_cdecl_sighandler
#endif
#if !defined(__lzo_cdecl_va)
# define __lzo_cdecl_va __lzo_cdecl
#endif
#if !defined(LZO_CFG_NO_WINDOWS_H)
#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_
OS_WIN64)
# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC
< 0x025f00ul)))
# else
# define LZO_HAVE_WINDOWS_H 1
# endif # endif
#endif
#endif
#if (LZO_ARCH_ALPHA)
# define LZO_OPT_AVOID_UINT_INDEX 1
# define LZO_OPT_AVOID_SHORT 1
# define LZO_OPT_AVOID_USHORT 1
#elif (LZO_ARCH_AMD64)
# define LZO_OPT_AVOID_INT_INDEX 1
# define LZO_OPT_AVOID_UINT_INDEX 1
# define LZO_OPT_UNALIGNED16 1
# define LZO_OPT_UNALIGNED32 1
# define LZO_OPT_UNALIGNED64 1
#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
#elif (LZO_ARCH_ARM)
# define LZO_OPT_AVOID_SHORT 1
# define LZO_OPT_AVOID_USHORT 1
#elif (LZO_ARCH_CRIS)
# define LZO_OPT_UNALIGNED16 1
# define LZO_OPT_UNALIGNED32 1
#elif (LZO_ARCH_I386) #elif (LZO_ARCH_I386)
# define LZO_OPT_UNALIGNED16 1 # ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED32 1 # define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
#elif (LZO_ARCH_IA64) #elif (LZO_ARCH_IA64)
# define LZO_OPT_AVOID_INT_INDEX 1 # define LZO_OPT_AVOID_INT_INDEX 1
# define LZO_OPT_AVOID_UINT_INDEX 1 # define LZO_OPT_AVOID_UINT_INDEX 1
# define LZO_OPT_PREFER_POSTINC 1 # define LZO_OPT_PREFER_POSTINC 1
#elif (LZO_ARCH_M68K) #elif (LZO_ARCH_M68K)
# define LZO_OPT_PREFER_POSTINC 1 # define LZO_OPT_PREFER_POSTINC 1
# define LZO_OPT_PREFER_PREDEC 1 # define LZO_OPT_PREFER_PREDEC 1
# if defined(__mc68020__) && !defined(__mcoldfire__) # if defined(__mc68020__) && !defined(__mcoldfire__)
# define LZO_OPT_UNALIGNED16 1 # ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED32 1 # define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# endif # endif
#elif (LZO_ARCH_MIPS) #elif (LZO_ARCH_MIPS)
# define LZO_OPT_AVOID_UINT_INDEX 1 # define LZO_OPT_AVOID_UINT_INDEX 1
#elif (LZO_ARCH_POWERPC) #elif (LZO_ARCH_POWERPC)
# define LZO_OPT_PREFER_PREINC 1 # define LZO_OPT_PREFER_PREINC 1
# define LZO_OPT_PREFER_PREDEC 1 # define LZO_OPT_PREFER_PREDEC 1
# if defined(LZO_ABI_BIG_ENDIAN) # if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8)
# define LZO_OPT_UNALIGNED16 1 # ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED32 1 # define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# if (LZO_WORDSIZE == 8)
# ifndef LZO_OPT_UNALIGNED64
# define LZO_OPT_UNALIGNED64 1
# endif
# endif
# endif
#elif (LZO_ARCH_RISCV)
# define LZO_OPT_AVOID_UINT_INDEX 1
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# if (LZO_WORDSIZE == 8)
# ifndef LZO_OPT_UNALIGNED64
# define LZO_OPT_UNALIGNED64 1
# endif
# endif # endif
#elif (LZO_ARCH_S390) #elif (LZO_ARCH_S390)
# define LZO_OPT_UNALIGNED16 1 # ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED32 1 # define LZO_OPT_UNALIGNED16 1
# if (LZO_SIZEOF_SIZE_T == 8) # endif
# define LZO_OPT_UNALIGNED64 1 # ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
# if (LZO_WORDSIZE == 8)
# ifndef LZO_OPT_UNALIGNED64
# define LZO_OPT_UNALIGNED64 1
# endif
# endif # endif
#elif (LZO_ARCH_SH) #elif (LZO_ARCH_SH)
# define LZO_OPT_PREFER_POSTINC 1 # define LZO_OPT_PREFER_POSTINC 1
# define LZO_OPT_PREFER_PREDEC 1 # define LZO_OPT_PREFER_PREDEC 1
#endif #endif
#if !defined(LZO_CFG_NO_INLINE_ASM) #ifndef LZO_CFG_NO_INLINE_ASM
#if defined(LZO_CC_LLVM) #if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
# define LZO_CFG_NO_INLINE_ASM 1
#elif (LZO_CC_LLVM)
# define LZO_CFG_NO_INLINE_ASM 1 # define LZO_CFG_NO_INLINE_ASM 1
#endif #endif
#endif #endif
#if !defined(LZO_CFG_NO_UNALIGNED) #if (LZO_CFG_NO_INLINE_ASM)
#if defined(LZO_ABI_NEUTRAL_ENDIAN) || defined(LZO_ARCH_GENERIC) # undef LZO_ASM_SYNTAX_MSC
# undef LZO_ASM_SYNTAX_GNUC
# undef __LZO_ASM_CLOBBER
# undef __LZO_ASM_CLOBBER_LIST_CC
# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY
# undef __LZO_ASM_CLOBBER_LIST_EMPTY
#endif
#ifndef LZO_CFG_NO_UNALIGNED
#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
# define LZO_CFG_NO_UNALIGNED 1 # define LZO_CFG_NO_UNALIGNED 1
#endif #endif
#endif #endif
#if defined(LZO_CFG_NO_UNALIGNED) #if (LZO_CFG_NO_UNALIGNED)
# undef LZO_OPT_UNALIGNED16 # undef LZO_OPT_UNALIGNED16
# undef LZO_OPT_UNALIGNED32 # undef LZO_OPT_UNALIGNED32
# undef LZO_OPT_UNALIGNED64 # undef LZO_OPT_UNALIGNED64
#endif #endif
#if defined(LZO_CFG_NO_INLINE_ASM)
#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_
INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
# define LZO_ASM_SYNTAX_MSC 1
#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELL
ESC))
#elif (LZO_ARCH_I386 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
# define LZO_ASM_SYNTAX_GNUC 1
#elif (LZO_ARCH_AMD64 && (LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
# define LZO_ASM_SYNTAX_GNUC 1
#endif
#if (LZO_ASM_SYNTAX_GNUC)
#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
# define __LZO_ASM_CLOBBER "ax"
#elif (LZO_CC_INTELC)
# define __LZO_ASM_CLOBBER "memory"
#else
# define __LZO_ASM_CLOBBER "cc", "memory"
#endif
#endif
#if defined(__LZO_INFOSTR_MM) #if defined(__LZO_INFOSTR_MM)
#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) #elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
# define __LZO_INFOSTR_MM "" # define __LZO_INFOSTR_MM ""
#elif defined(LZO_INFO_MM) #elif defined(LZO_INFO_MM)
# define __LZO_INFOSTR_MM "." LZO_INFO_MM # define __LZO_INFOSTR_MM "." LZO_INFO_MM
#else #else
# define __LZO_INFOSTR_MM "" # define __LZO_INFOSTR_MM ""
#endif #endif
#if defined(__LZO_INFOSTR_PM) #if defined(__LZO_INFOSTR_PM)
#elif defined(LZO_INFO_ABI_PM) #elif defined(LZO_INFO_ABI_PM)
skipping to change at line 1825 skipping to change at line 2826
#endif #endif
#if defined(__LZO_INFOSTR_CCVER) #if defined(__LZO_INFOSTR_CCVER)
#elif defined(LZO_INFO_CCVER) #elif defined(LZO_INFO_CCVER)
# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER # define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER
#else #else
# define __LZO_INFOSTR_CCVER "" # define __LZO_INFOSTR_CCVER ""
#endif #endif
#define LZO_INFO_STRING \ #define LZO_INFO_STRING \
LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
" " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CC VER " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CC VER
#if !(LZO_CFG_SKIP_LZO_TYPES)
#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0))
# error "missing defines for sizes"
#endif
#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_
P+0 > 0))
# error "missing defines for sizes"
#endif
#define LZO_TYPEOF_CHAR 1u
#define LZO_TYPEOF_SHORT 2u
#define LZO_TYPEOF_INT 3u
#define LZO_TYPEOF_LONG 4u
#define LZO_TYPEOF_LONG_LONG 5u
#define LZO_TYPEOF___INT8 17u
#define LZO_TYPEOF___INT16 18u
#define LZO_TYPEOF___INT32 19u
#define LZO_TYPEOF___INT64 20u
#define LZO_TYPEOF___INT128 21u
#define LZO_TYPEOF___INT256 22u
#define LZO_TYPEOF___MODE_QI 33u
#define LZO_TYPEOF___MODE_HI 34u
#define LZO_TYPEOF___MODE_SI 35u
#define LZO_TYPEOF___MODE_DI 36u
#define LZO_TYPEOF___MODE_TI 37u
#define LZO_TYPEOF_CHAR_P 129u
#if !defined(lzo_llong_t)
#if (LZO_SIZEOF_LONG_LONG+0 > 0)
# if !(LZO_LANG_ASSEMBLER)
__lzo_gnuc_extension__ typedef long long lzo_llong_t__;
__lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# endif
# define lzo_llong_t lzo_llong_t__
# define lzo_ullong_t lzo_ullong_t__
#endif
#endif
#if !defined(lzo_int16e_t)
#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHOR
T != 2)
# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T
#endif
#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF
_SHORT)
# define lzo_int16e_t long
# define lzo_uint16e_t unsigned long
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG
#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEO
F_SHORT)
# define lzo_int16e_t int
# define lzo_uint16e_t unsigned int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT
#elif (LZO_SIZEOF_SHORT == 2)
# define lzo_int16e_t short int
# define lzo_uint16e_t unsigned short int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f
00ul) || LZO_CC_LLVM)
# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
# endif
# define lzo_int16e_t lzo_int16e_hi_t__
# define lzo_uint16e_t lzo_uint16e_hi_t__
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI
#elif (LZO_SIZEOF___INT16 == 2)
# define lzo_int16e_t __int16
# define lzo_uint16e_t unsigned __int16
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16
#else
#endif
#endif
#if defined(lzo_int16e_t)
# define LZO_SIZEOF_LZO_INT16E_T 2
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_
T)
#endif
#if !defined(lzo_int32e_t)
#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT !=
4)
# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T
#endif
#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF
_INT)
# define lzo_int32e_t long int
# define lzo_uint32e_t unsigned long int
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG
#elif (LZO_SIZEOF_INT == 4)
# define lzo_int32e_t int
# define lzo_uint32e_t unsigned int
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT
#elif (LZO_SIZEOF_SHORT == 4)
# define lzo_int32e_t short int
# define lzo_uint32e_t unsigned short int
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT
#elif (LZO_SIZEOF_LONG_LONG == 4)
# define lzo_int32e_t lzo_llong_t
# define lzo_uint32e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f
00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(
__AVR__) && (__LONG_MAX__+0 == 32767L)
# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_INT32_C(c) (c##LL)
# define LZO_UINT32_C(c) (c##ULL)
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
#elif (LZO_SIZEOF___INT32 == 4)
# define lzo_int32e_t __int32
# define lzo_uint32e_t unsigned __int32
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32
#else
#endif
#endif
#if defined(lzo_int32e_t)
# define LZO_SIZEOF_LZO_INT32E_T 4
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_
T)
#endif
#if !defined(lzo_int64e_t)
#if (LZO_SIZEOF___INT64 == 8)
# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T)
# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64
# endif
#endif
#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_
LONG_LONG != 8)
# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
#endif
#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___
INT64 != 8)
# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
#endif
#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
# define lzo_int64e_t int
# define lzo_uint64e_t unsigned int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT
#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPE
OF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
# define lzo_int64e_t long int
# define lzo_uint64e_t unsigned long int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG
#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO
_TYPEOF___INT64)
# define lzo_int64e_t lzo_llong_t
# define lzo_uint64e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG
# if (LZO_CC_BORLANDC)
# define LZO_INT64_C(c) ((c) + 0ll)
# define LZO_UINT64_C(c) ((c) + 0ull)
# elif 0
# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL))
# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL))
# else
# define LZO_INT64_C(c) (c##LL)
# define LZO_UINT64_C(c) (c##ULL)
# endif
#elif (LZO_SIZEOF___INT64 == 8)
# define lzo_int64e_t __int64
# define lzo_uint64e_t unsigned __int64
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64
# if (LZO_CC_BORLANDC)
# define LZO_INT64_C(c) ((c) + 0i64)
# define LZO_UINT64_C(c) ((c) + 0ui64)
# else
# define LZO_INT64_C(c) (c##i64)
# define LZO_UINT64_C(c) (c##ui64)
# endif
#else
#endif
#endif
#if defined(lzo_int64e_t)
# define LZO_SIZEOF_LZO_INT64E_T 8
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_
T)
#endif
#if !defined(lzo_int32l_t)
#if defined(lzo_int32e_t)
# define lzo_int32l_t lzo_int32e_t
# define lzo_uint32l_t lzo_uint32e_t
# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T
# define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T
#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
# define lzo_int32l_t int
# define lzo_uint32l_t unsigned int
# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT
# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT
#elif (LZO_SIZEOF_LONG >= 4)
# define lzo_int32l_t long int
# define lzo_uint32l_t unsigned long int
# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG
# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG
#else
# error "lzo_int32l_t"
#endif
#endif
#if 1
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_
T)
#endif
#if !defined(lzo_int64l_t)
#if defined(lzo_int64e_t)
# define lzo_int64l_t lzo_int64e_t
# define lzo_uint64l_t lzo_uint64e_t
# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T
# define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T
#else
#endif
#endif
#if defined(lzo_int64l_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_
T)
#endif
#if !defined(lzo_int32f_t)
#if (LZO_SIZEOF_SIZE_T >= 8)
# define lzo_int32f_t lzo_int64l_t
# define lzo_uint32f_t lzo_uint64l_t
# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T
# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T
#else
# define lzo_int32f_t lzo_int32l_t
# define lzo_uint32f_t lzo_uint32l_t
# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T
# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T
#endif
#endif
#if 1
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_
T)
#endif
#if !defined(lzo_int64f_t)
#if defined(lzo_int64l_t)
# define lzo_int64f_t lzo_int64l_t
# define lzo_uint64f_t lzo_uint64l_t
# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T
# define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T
#else
#endif
#endif
#if defined(lzo_int64f_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_
T)
#endif
#if !defined(lzo_intptr_t)
#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16))
# define __LZO_INTPTR_T_IS_POINTER 1
# if !(LZO_LANG_ASSEMBLER)
typedef char * lzo_intptr_t;
typedef char * lzo_uintptr_t;
# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P
#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZE
OF_INT == 4))
# if !(LZO_LANG_ASSEMBLER)
typedef __w64 int lzo_intptr_t;
typedef __w64 unsigned int lzo_uintptr_t;
# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VO
ID_P)
# define lzo_intptr_t short
# define lzo_uintptr_t unsigned short
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT
#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG
)
# define lzo_intptr_t int
# define lzo_uintptr_t unsigned int
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT
#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P)
# define lzo_intptr_t long
# define lzo_uintptr_t unsigned long
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG
#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P)
# define lzo_intptr_t lzo_int64l_t
# define lzo_uintptr_t lzo_uint64l_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T
#else
# error "lzo_intptr_t"
#endif
#endif
#if 1
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *))
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)
)
#endif
#if !defined(lzo_word_t)
#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0)
#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER)
# define lzo_word_t lzo_uintptr_t
# define lzo_sword_t lzo_intptr_t
# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T
#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG)
# define lzo_word_t unsigned long
# define lzo_sword_t long
# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG
#elif (LZO_WORDSIZE == LZO_SIZEOF_INT)
# define lzo_word_t unsigned int
# define lzo_sword_t int
# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT
#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT)
# define lzo_word_t unsigned short
# define lzo_sword_t short
# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT
#elif (LZO_WORDSIZE == 1)
# define lzo_word_t unsigned char
# define lzo_sword_t signed char
# define LZO_SIZEOF_LZO_WORD_T 1
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR
#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T)
# define lzo_word_t lzo_uint64l_t
# define lzo_sword_t lzo_int64l_t
# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC)
#if 0
# if !(LZO_LANG_ASSEMBLER)
typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
# endif
# define lzo_word_t lzo_word_t
# define lzo_sword_t lzo_sword_t
# define LZO_SIZEOF_LZO_WORD_T 16
# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI
#endif
#else
# error "lzo_word_t"
#endif
#endif
#endif
#if 1 && defined(lzo_word_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE)
#endif
#if 1
#define lzo_int8_t signed char
#define lzo_uint8_t unsigned char
#define LZO_SIZEOF_LZO_INT8_T 1
#define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t))
#endif
#if defined(lzo_int16e_t)
#define lzo_int16_t lzo_int16e_t
#define lzo_uint16_t lzo_uint16e_t
#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T
#define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t))
#endif
#if defined(lzo_int32e_t)
#define lzo_int32_t lzo_int32e_t
#define lzo_uint32_t lzo_uint32e_t
#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T
#define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t))
#endif
#if defined(lzo_int64e_t)
#define lzo_int64_t lzo_int64e_t
#define lzo_uint64_t lzo_uint64e_t
#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T
#define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t))
#endif
#if 1
#define lzo_int_least32_t lzo_int32l_t
#define lzo_uint_least32_t lzo_uint32l_t
#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T
#define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_leas
t32_t))
#endif
#if defined(lzo_int64l_t)
#define lzo_int_least64_t lzo_int64l_t
#define lzo_uint_least64_t lzo_uint64l_t
#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T
#define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_leas
t64_t))
#endif
#if 1
#define lzo_int_fast32_t lzo_int32f_t
#define lzo_uint_fast32_t lzo_uint32f_t
#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T
#define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast3
2_t))
#endif
#if defined(lzo_int64f_t)
#define lzo_int_fast64_t lzo_int64f_t
#define lzo_uint_fast64_t lzo_uint64f_t
#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T
#define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast6
4_t))
#endif
#if !defined(LZO_INT16_C)
# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2)
# define LZO_INT16_C(c) ((c) + 0)
# define LZO_UINT16_C(c) ((c) + 0U)
# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2)
# define LZO_INT16_C(c) ((c) + 0L)
# define LZO_UINT16_C(c) ((c) + 0UL)
# elif (LZO_SIZEOF_INT >= 2)
# define LZO_INT16_C(c) (c)
# define LZO_UINT16_C(c) (c##U)
# elif (LZO_SIZEOF_LONG >= 2)
# define LZO_INT16_C(c) (c##L)
# define LZO_UINT16_C(c) (c##UL)
# else
# error "LZO_INT16_C"
# endif
#endif
#if !defined(LZO_INT32_C)
# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4)
# define LZO_INT32_C(c) ((c) + 0)
# define LZO_UINT32_C(c) ((c) + 0U)
# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4)
# define LZO_INT32_C(c) ((c) + 0L)
# define LZO_UINT32_C(c) ((c) + 0UL)
# elif (LZO_SIZEOF_INT >= 4)
# define LZO_INT32_C(c) (c)
# define LZO_UINT32_C(c) (c##U)
# elif (LZO_SIZEOF_LONG >= 4)
# define LZO_INT32_C(c) (c##L)
# define LZO_UINT32_C(c) (c##UL)
# elif (LZO_SIZEOF_LONG_LONG >= 4)
# define LZO_INT32_C(c) (c##LL)
# define LZO_UINT32_C(c) (c##ULL)
# else
# error "LZO_INT32_C"
# endif
#endif
#if !defined(LZO_INT64_C) && defined(lzo_int64l_t)
# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8)
# define LZO_INT64_C(c) ((c) + 0)
# define LZO_UINT64_C(c) ((c) + 0U)
# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8)
# define LZO_INT64_C(c) ((c) + 0L)
# define LZO_UINT64_C(c) ((c) + 0UL)
# elif (LZO_SIZEOF_INT >= 8)
# define LZO_INT64_C(c) (c)
# define LZO_UINT64_C(c) (c##U)
# elif (LZO_SIZEOF_LONG >= 8)
# define LZO_INT64_C(c) (c##L)
# define LZO_UINT64_C(c) (c##UL)
# else
# error "LZO_INT64_C"
# endif
#endif
#endif
#endif #endif
#endif #endif
#undef LZO_HAVE_CONFIG_H #undef LZO_HAVE_CONFIG_H
#include "minilzo.h" #include "minilzo.h"
#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2030) #if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x20a0)
# error "version mismatch in miniLZO source files" # error "version mismatch in miniLZO source files"
#endif #endif
#ifdef MINILZO_HAVE_CONFIG_H #ifdef MINILZO_HAVE_CONFIG_H
# define LZO_HAVE_CONFIG_H # define LZO_HAVE_CONFIG_H 1
#endif #endif
#ifndef __LZO_CONF_H #ifndef __LZO_CONF_H
#define __LZO_CONF_H #define __LZO_CONF_H 1
#if !defined(__LZO_IN_MINILZO) #if !defined(__LZO_IN_MINILZO)
#if defined(LZO_CFG_FREESTANDING) #if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING)
# define LZO_LIBC_FREESTANDING 1 # define LZO_LIBC_FREESTANDING 1
# define LZO_OS_FREESTANDING 1 # define LZO_OS_FREESTANDING 1
# define ACC_LIBC_FREESTANDING 1
# define ACC_OS_FREESTANDING 1
#endif
#if defined(LZO_CFG_NO_UNALIGNED)
# define ACC_CFG_NO_UNALIGNED 1
#endif
#if defined(LZO_ARCH_GENERIC)
# define ACC_ARCH_GENERIC 1
#endif
#if defined(LZO_ABI_NEUTRAL_ENDIAN)
# define ACC_ABI_NEUTRAL_ENDIAN 1
#endif
#if defined(LZO_HAVE_CONFIG_H)
# define ACC_CONFIG_NO_HEADER 1
#endif #endif
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER) #if defined(LZO_CFG_EXTRA_CONFIG_HEADER)
# include LZO_CFG_EXTRA_CONFIG_HEADER # include LZO_CFG_EXTRA_CONFIG_HEADER
#endif #endif
#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED) #if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED)
# error "include this file first" # error "include this file first"
#endif #endif
#include "lzo/lzoconf.h" #if defined(LZO_CFG_BUILD_DLL) && (LZO_CFG_BUILD_DLL+0) && !defined(__LZO_EXPORT
1) && !defined(__LZO_EXPORT2) && 0
#ifndef __LZODEFS_H_INCLUDED
#if defined(LZO_HAVE_CONFIG_H)
# include <config.h>
#endif
#include <limits.h>
#include <stddef.h>
#include <lzo/lzodefs.h>
#endif
#endif
#include <lzo/lzoconf.h>
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER2)
# include LZO_CFG_EXTRA_CONFIG_HEADER2
#endif
#endif #endif
#if (LZO_VERSION < 0x02000) || !defined(__LZOCONF_H_INCLUDED) #if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0)
# error "version mismatch" # error "version mismatch"
#endif #endif
#if (LZO_CC_BORLANDC && LZO_ARCH_I086) #if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100))
# pragma option -h # pragma warning(disable: 4702)
#endif #endif
#if (LZO_CC_MSC && (_MSC_VER >= 1000)) #if (LZO_CC_MSC && (_MSC_VER >= 1000))
# pragma warning(disable: 4127 4701) # pragma warning(disable: 4127 4701)
# pragma warning(disable: 4514 4710 4711)
#endif #endif
#if (LZO_CC_MSC && (_MSC_VER >= 1300)) #if (LZO_CC_MSC && (_MSC_VER >= 1300))
# pragma warning(disable: 4820) # pragma warning(disable: 4820)
# pragma warning(disable: 4514 4710 4711) #endif
#if (LZO_CC_MSC && (_MSC_VER >= 1800))
# pragma warning(disable: 4746)
#endif
#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900))
# pragma warning(disable: 1684)
#endif #endif
#if (LZO_CC_SUNPROC) #if (LZO_CC_SUNPROC)
#if !defined(__cplusplus)
# pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED) # pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED)
# pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP) # pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP)
# pragma error_messages(off,E_STATEMENT_NOT_REACHED)
#endif
#endif #endif
#if defined(__LZO_MMODEL_HUGE) && (!LZO_HAVE_MM_HUGE_PTR) #if !defined(__LZO_NOEXPORT1)
# error "this should not happen - check defines for __huge" # define __LZO_NOEXPORT1 /*empty*/
#endif
#if !defined(__LZO_NOEXPORT2)
# define __LZO_NOEXPORT2 /*empty*/
#endif #endif
#if defined(__LZO_IN_MINILZO) || defined(LZO_CFG_FREESTANDING) #if 1
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) # define LZO_PUBLIC_DECL(r) LZO_EXTERN(r)
# define ACC_WANT_ACC_INCD_H 1 #endif
# define ACC_WANT_ACC_INCE_H 1 #if 1
# define ACC_WANT_ACC_INCI_H 1 # define LZO_PUBLIC_IMPL(r) LZO_PUBLIC(r)
#endif
#if !defined(LZO_LOCAL_DECL)
# define LZO_LOCAL_DECL(r) __LZO_EXTERN_C LZO_LOCAL_IMPL(r)
#endif
#if !defined(LZO_LOCAL_IMPL)
# define LZO_LOCAL_IMPL(r) __LZO_NOEXPORT1 r __LZO_NOEXPORT2 __LZO_CDECL
#endif
#if 1
# define LZO_STATIC_DECL(r) LZO_PRIVATE(r)
#endif
#if 1
# define LZO_STATIC_IMPL(r) LZO_PRIVATE(r)
#endif
#if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING)
#elif 1 #elif 1
# include <string.h> # include <string.h>
#else #else
# define ACC_WANT_ACC_INCD_H 1 # define LZO_WANT_ACC_INCD_H 1
#endif #endif
#if defined(LZO_HAVE_CONFIG_H)
#if (LZO_ARCH_I086) # define LZO_CFG_NO_CONFIG_HEADER 1
# define ACC_MM_AHSHIFT LZO_MM_AHSHIFT
# define ACC_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0])
# define ACC_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1])
# define ACC_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigne
d)(o)))
#endif
#if !defined(lzo_uintptr_t)
# if defined(__LZO_MMODEL_HUGE)
# define lzo_uintptr_t unsigned long
# elif 1 && defined(LZO_OS_OS400) && (LZO_SIZEOF_VOID_P == 16)
# define __LZO_UINTPTR_T_IS_POINTER 1
typedef char* lzo_uintptr_t;
# define lzo_uintptr_t lzo_uintptr_t
# elif (LZO_SIZEOF_SIZE_T == LZO_SIZEOF_VOID_P)
# define lzo_uintptr_t size_t
# elif (LZO_SIZEOF_LONG == LZO_SIZEOF_VOID_P)
# define lzo_uintptr_t unsigned long
# elif (LZO_SIZEOF_INT == LZO_SIZEOF_VOID_P)
# define lzo_uintptr_t unsigned int
# elif (LZO_SIZEOF_LONG_LONG == LZO_SIZEOF_VOID_P)
# define lzo_uintptr_t unsigned long long
# else
# define lzo_uintptr_t size_t
# endif
#endif #endif
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
#if 1 && !defined(LZO_CFG_FREESTANDING) #if 1 && !defined(LZO_CFG_FREESTANDING)
#if 1 && !defined(HAVE_STRING_H) #if 1 && !defined(HAVE_STRING_H)
#define HAVE_STRING_H 1 #define HAVE_STRING_H 1
#endif #endif
#if 1 && !defined(HAVE_MEMCMP) #if 1 && !defined(HAVE_MEMCMP)
#define HAVE_MEMCMP 1 #define HAVE_MEMCMP 1
#endif #endif
#if 1 && !defined(HAVE_MEMCPY) #if 1 && !defined(HAVE_MEMCPY)
#define HAVE_MEMCPY 1 #define HAVE_MEMCPY 1
skipping to change at line 1958 skipping to change at line 3418
#endif #endif
#if 1 && !defined(HAVE_MEMSET) #if 1 && !defined(HAVE_MEMSET)
#define HAVE_MEMSET 1 #define HAVE_MEMSET 1
#endif #endif
#endif #endif
#if 1 && defined(HAVE_STRING_H) #if 1 && defined(HAVE_STRING_H)
#include <string.h> #include <string.h>
#endif #endif
#if defined(LZO_CFG_FREESTANDING) #if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint8_t) == 1)
#endif
#if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint16_t) == 2)
#endif
#if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32_t) == 4)
#endif
#if defined(lzo_int64_t) || defined(lzo_uint64_t)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64_t) == 8)
#endif
#if (LZO_CFG_FREESTANDING)
# undef HAVE_MEMCMP # undef HAVE_MEMCMP
# undef HAVE_MEMCPY # undef HAVE_MEMCPY
# undef HAVE_MEMMOVE # undef HAVE_MEMMOVE
# undef HAVE_MEMSET # undef HAVE_MEMSET
#endif #endif
#if !defined(HAVE_MEMCMP) #if !(HAVE_MEMCMP)
# undef memcmp # undef memcmp
# define memcmp(a,b,c) lzo_memcmp(a,b,c) # define memcmp(a,b,c) lzo_memcmp(a,b,c)
#elif !defined(__LZO_MMODEL_HUGE) #else
# undef lzo_memcmp
# define lzo_memcmp(a,b,c) memcmp(a,b,c) # define lzo_memcmp(a,b,c) memcmp(a,b,c)
#endif #endif
#if !defined(HAVE_MEMCPY) #if !(HAVE_MEMCPY)
# undef memcpy # undef memcpy
# define memcpy(a,b,c) lzo_memcpy(a,b,c) # define memcpy(a,b,c) lzo_memcpy(a,b,c)
#elif !defined(__LZO_MMODEL_HUGE) #else
# undef lzo_memcpy
# define lzo_memcpy(a,b,c) memcpy(a,b,c) # define lzo_memcpy(a,b,c) memcpy(a,b,c)
#endif #endif
#if !defined(HAVE_MEMMOVE) #if !(HAVE_MEMMOVE)
# undef memmove # undef memmove
# define memmove(a,b,c) lzo_memmove(a,b,c) # define memmove(a,b,c) lzo_memmove(a,b,c)
#elif !defined(__LZO_MMODEL_HUGE) #else
# undef lzo_memmove
# define lzo_memmove(a,b,c) memmove(a,b,c) # define lzo_memmove(a,b,c) memmove(a,b,c)
#endif #endif
#if !defined(HAVE_MEMSET) #if !(HAVE_MEMSET)
# undef memset # undef memset
# define memset(a,b,c) lzo_memset(a,b,c) # define memset(a,b,c) lzo_memset(a,b,c)
#elif !defined(__LZO_MMODEL_HUGE) #else
# undef lzo_memset
# define lzo_memset(a,b,c) memset(a,b,c) # define lzo_memset(a,b,c) memset(a,b,c)
#endif #endif
#undef NDEBUG #undef NDEBUG
#if defined(LZO_CFG_FREESTANDING) #if (LZO_CFG_FREESTANDING)
# undef LZO_DEBUG # undef LZO_DEBUG
# define NDEBUG 1 # define NDEBUG 1
# undef assert # undef assert
# define assert(e) ((void)0) # define assert(e) ((void)0)
#else #else
# if !defined(LZO_DEBUG) # if !defined(LZO_DEBUG)
# define NDEBUG 1 # define NDEBUG 1
# endif # endif
# include <assert.h> # include <assert.h>
#endif #endif
#if 0 && defined(__BOUNDS_CHECKING_ON) #if 0 && defined(__BOUNDS_CHECKING_ON)
# include <unchecked.h> # include <unchecked.h>
#else #else
# define BOUNDS_CHECKING_OFF_DURING(stmt) stmt # define BOUNDS_CHECKING_OFF_DURING(stmt) stmt
# define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr) # define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr)
#endif #endif
#if !defined(__lzo_inline) #if (LZO_CFG_PGO)
# define __lzo_inline # undef __lzo_likely
#endif # undef __lzo_unlikely
#if !defined(__lzo_forceinline) # define __lzo_likely(e) (e)
# define __lzo_forceinline # define __lzo_unlikely(e) (e)
#endif
#if !defined(__lzo_noinline)
# define __lzo_noinline
#endif #endif
#undef _
#undef __
#undef ___
#undef ____
#undef _p0
#undef _p1
#undef _p2
#undef _p3
#undef _p4
#undef _s0
#undef _s1
#undef _s2
#undef _s3
#undef _s4
#undef _ww
#if 1 #if 1
# define LZO_BYTE(x) ((unsigned char) (x)) # define LZO_BYTE(x) ((unsigned char) (x))
#else #else
# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff)) # define LZO_BYTE(x) ((unsigned char) ((x) & 0xff))
#endif #endif
#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b)) #define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b))
#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b)) #define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b))
#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c)) #define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c))
#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c)) #define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c))
#define lzo_sizeof(type) ((lzo_uint) (sizeof(type))) #define lzo_sizeof(type) ((lzo_uint) (sizeof(type)))
#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array)))) #define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array))))
#define LZO_SIZE(bits) (1u << (bits)) #define LZO_SIZE(bits) (1u << (bits))
#define LZO_MASK(bits) (LZO_SIZE(bits) - 1) #define LZO_MASK(bits) (LZO_SIZE(bits) - 1)
#define LZO_LSIZE(bits) (1ul << (bits))
#define LZO_LMASK(bits) (LZO_LSIZE(bits) - 1)
#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits)) #define LZO_USIZE(bits) ((lzo_uint) 1 << (bits))
#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1) #define LZO_UMASK(bits) (LZO_USIZE(bits) - 1)
#if !defined(DMUL) #if !defined(DMUL)
#if 0 #if 0
# define DMUL(a,b) ((lzo_xint) ((lzo_uint32)(a) * (lzo_uint32)(b))) # define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b)))
#else #else
# define DMUL(a,b) ((lzo_xint) ((a) * (b))) # define DMUL(a,b) ((lzo_xint) ((a) * (b)))
#endif #endif
#endif #endif
#if 1 && !defined(LZO_CFG_NO_UNALIGNED) #ifndef __LZO_FUNC_H
#if 1 && (LZO_ARCH_AMD64 || LZO_ARCH_I386) #define __LZO_FUNC_H 1
# if (LZO_SIZEOF_SHORT == 2)
# define LZO_UNALIGNED_OK_2 #if !defined(LZO_BITOPS_USE_ASM_BITSCAN) && !defined(LZO_BITOPS_USE_GNUC_BITSCAN
# endif ) && !defined(LZO_BITOPS_USE_MSC_BITSCAN)
# if (LZO_SIZEOF_INT == 4) #if 1 && (LZO_ARCH_AMD64) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO
# define LZO_UNALIGNED_OK_4 _ASM_SYNTAX_GNUC)
# endif #define LZO_BITOPS_USE_ASM_BITSCAN 1
#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC_GNUC && (__
INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) ||
(__llvm_tools_version__+0 >= 0x010500ul))))
#define LZO_BITOPS_USE_GNUC_BITSCAN 1
#elif (LZO_OS_WIN32 || LZO_OS_WIN64) && ((LZO_CC_INTELC_MSC && (__INTEL_COMPILER
>= 1010)) || (LZO_CC_MSC && (_MSC_VER >= 1400)))
#define LZO_BITOPS_USE_MSC_BITSCAN 1
#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
#include <intrin.h>
#endif
#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
#pragma intrinsic(_BitScanReverse)
#pragma intrinsic(_BitScanForward)
#endif
#if (LZO_CC_MSC) && (LZO_ARCH_AMD64)
#pragma intrinsic(_BitScanReverse64)
#pragma intrinsic(_BitScanForward64)
#endif
#endif
#endif
__lzo_static_forceinline unsigned lzo_bitops_ctlz32_func(lzo_uint32_t v)
{
#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
unsigned long r; (void) _BitScanReverse(&r, v); return (unsigned) r ^ 31;
#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v)
#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_
ASM_SYNTAX_GNUC)
lzo_uint32_t r;
__asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
return (unsigned) r ^ 31;
#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v)
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT == 4)
unsigned r; r = (unsigned) __builtin_clz(v); return r;
#define lzo_bitops_ctlz32(v) ((unsigned) __builtin_clz(v))
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >
= 8)
unsigned r; r = (unsigned) __builtin_clzl(v); return r ^ 32;
#define lzo_bitops_ctlz32(v) (((unsigned) __builtin_clzl(v)) ^ 32)
#else
LZO_UNUSED(v); return 0;
#endif
}
#if defined(lzo_uint64_t)
__lzo_static_forceinline unsigned lzo_bitops_ctlz64_func(lzo_uint64_t v)
{
#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64)
unsigned long r; (void) _BitScanReverse64(&r, v); return (unsigned) r ^ 63;
#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v)
#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC)
lzo_uint64_t r;
__asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
return (unsigned) r ^ 63;
#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v)
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >
= 8)
unsigned r; r = (unsigned) __builtin_clzl(v); return r;
#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzl(v))
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG == 8) && (LZO_WORDS
IZE >= 8)
unsigned r; r = (unsigned) __builtin_clzll(v); return r;
#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzll(v))
#else
LZO_UNUSED(v); return 0;
#endif
}
#endif
__lzo_static_forceinline unsigned lzo_bitops_cttz32_func(lzo_uint32_t v)
{
#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386)
unsigned long r; (void) _BitScanForward(&r, v); return (unsigned) r;
#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v)
#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_
ASM_SYNTAX_GNUC)
lzo_uint32_t r;
__asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
return (unsigned) r;
#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v)
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT >= 4)
unsigned r; r = (unsigned) __builtin_ctz(v); return r;
#define lzo_bitops_cttz32(v) ((unsigned) __builtin_ctz(v))
#else
LZO_UNUSED(v); return 0;
#endif
}
#if defined(lzo_uint64_t)
__lzo_static_forceinline unsigned lzo_bitops_cttz64_func(lzo_uint64_t v)
{
#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64)
unsigned long r; (void) _BitScanForward64(&r, v); return (unsigned) r;
#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v)
#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC)
lzo_uint64_t r;
__asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC);
return (unsigned) r;
#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v)
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG >= 8) && (LZO_WORDSIZE >
= 8)
unsigned r; r = (unsigned) __builtin_ctzl(v); return r;
#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzl(v))
#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG >= 8) && (LZO_WORDS
IZE >= 8)
unsigned r; r = (unsigned) __builtin_ctzll(v); return r;
#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzll(v))
#else
LZO_UNUSED(v); return 0;
#endif
}
#endif
lzo_unused_funcs_impl(void, lzo_bitops_unused_funcs)(void)
{
LZO_UNUSED_FUNC(lzo_bitops_unused_funcs);
LZO_UNUSED_FUNC(lzo_bitops_ctlz32_func);
LZO_UNUSED_FUNC(lzo_bitops_cttz32_func);
#if defined(lzo_uint64_t)
LZO_UNUSED_FUNC(lzo_bitops_ctlz64_func);
LZO_UNUSED_FUNC(lzo_bitops_cttz64_func);
#endif
}
#if defined(__lzo_alignof) && !(LZO_CFG_NO_UNALIGNED)
#if !defined(lzo_memops_tcheck__) && 0
#define lzo_memops_tcheck__(t,a,b) ((void)0, sizeof(t) == (a) && __lzo_alignof(t
) == (b))
#endif
#endif
#ifndef lzo_memops_TU0p
#define lzo_memops_TU0p void __LZO_MMODEL *
#endif
#ifndef lzo_memops_TU1p
#define lzo_memops_TU1p unsigned char __LZO_MMODEL *
#endif
#ifndef lzo_memops_TU2p
#if (LZO_OPT_UNALIGNED16)
typedef lzo_uint16_t __lzo_may_alias lzo_memops_TU2;
#define lzo_memops_TU2p volatile lzo_memops_TU2 *
#elif defined(__lzo_byte_struct)
__lzo_byte_struct(lzo_memops_TU2_struct,2)
typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
#else
struct lzo_memops_TU2_struct { unsigned char a[2]; } __lzo_may_alias;
typedef struct lzo_memops_TU2_struct lzo_memops_TU2;
#endif
#ifndef lzo_memops_TU2p
#define lzo_memops_TU2p lzo_memops_TU2 *
#endif
#endif
#ifndef lzo_memops_TU4p
#if (LZO_OPT_UNALIGNED32)
typedef lzo_uint32_t __lzo_may_alias lzo_memops_TU4;
#define lzo_memops_TU4p volatile lzo_memops_TU4 __LZO_MMODEL *
#elif defined(__lzo_byte_struct)
__lzo_byte_struct(lzo_memops_TU4_struct,4)
typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
#else
struct lzo_memops_TU4_struct { unsigned char a[4]; } __lzo_may_alias;
typedef struct lzo_memops_TU4_struct lzo_memops_TU4;
#endif
#ifndef lzo_memops_TU4p
#define lzo_memops_TU4p lzo_memops_TU4 __LZO_MMODEL *
#endif
#endif
#ifndef lzo_memops_TU8p
#if (LZO_OPT_UNALIGNED64)
typedef lzo_uint64_t __lzo_may_alias lzo_memops_TU8;
#define lzo_memops_TU8p volatile lzo_memops_TU8 __LZO_MMODEL *
#elif defined(__lzo_byte_struct)
__lzo_byte_struct(lzo_memops_TU8_struct,8)
typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
#else
struct lzo_memops_TU8_struct { unsigned char a[8]; } __lzo_may_alias;
typedef struct lzo_memops_TU8_struct lzo_memops_TU8;
#endif
#ifndef lzo_memops_TU8p
#define lzo_memops_TU8p lzo_memops_TU8 __LZO_MMODEL *
#endif
#endif
#ifndef lzo_memops_set_TU1p
#define lzo_memops_set_TU1p volatile lzo_memops_TU1p
#endif
#ifndef lzo_memops_move_TU1p
#define lzo_memops_move_TU1p lzo_memops_TU1p
#endif
#define LZO_MEMOPS_SET1(dd,cc) \
LZO_BLOCK_BEGIN \
lzo_memops_set_TU1p d__1 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
d__1[0] = LZO_BYTE(cc); \
LZO_BLOCK_END
#define LZO_MEMOPS_SET2(dd,cc) \
LZO_BLOCK_BEGIN \
lzo_memops_set_TU1p d__2 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
d__2[0] = LZO_BYTE(cc); d__2[1] = LZO_BYTE(cc); \
LZO_BLOCK_END
#define LZO_MEMOPS_SET3(dd,cc) \
LZO_BLOCK_BEGIN \
lzo_memops_set_TU1p d__3 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
d__3[0] = LZO_BYTE(cc); d__3[1] = LZO_BYTE(cc); d__3[2] = LZO_BYTE(cc); \
LZO_BLOCK_END
#define LZO_MEMOPS_SET4(dd,cc) \
LZO_BLOCK_BEGIN \
lzo_memops_set_TU1p d__4 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \
d__4[0] = LZO_BYTE(cc); d__4[1] = LZO_BYTE(cc); d__4[2] = LZO_BYTE(cc); d__4
[3] = LZO_BYTE(cc); \
LZO_BLOCK_END
#define LZO_MEMOPS_MOVE1(dd,ss) \
LZO_BLOCK_BEGIN \
lzo_memops_move_TU1p d__1 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_move_TU1p s__1 = (const lzo_memops_move_TU1p) (const lzo_me
mops_TU0p) (ss); \
d__1[0] = s__1[0]; \
LZO_BLOCK_END
#define LZO_MEMOPS_MOVE2(dd,ss) \
LZO_BLOCK_BEGIN \
lzo_memops_move_TU1p d__2 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_move_TU1p s__2 = (const lzo_memops_move_TU1p) (const lzo_me
mops_TU0p) (ss); \
d__2[0] = s__2[0]; d__2[1] = s__2[1]; \
LZO_BLOCK_END
#define LZO_MEMOPS_MOVE3(dd,ss) \
LZO_BLOCK_BEGIN \
lzo_memops_move_TU1p d__3 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_move_TU1p s__3 = (const lzo_memops_move_TU1p) (const lzo_me
mops_TU0p) (ss); \
d__3[0] = s__3[0]; d__3[1] = s__3[1]; d__3[2] = s__3[2]; \
LZO_BLOCK_END
#define LZO_MEMOPS_MOVE4(dd,ss) \
LZO_BLOCK_BEGIN \
lzo_memops_move_TU1p d__4 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_move_TU1p s__4 = (const lzo_memops_move_TU1p) (const lzo_me
mops_TU0p) (ss); \
d__4[0] = s__4[0]; d__4[1] = s__4[1]; d__4[2] = s__4[2]; d__4[3] = s__4[3];
\
LZO_BLOCK_END
#define LZO_MEMOPS_MOVE8(dd,ss) \
LZO_BLOCK_BEGIN \
lzo_memops_move_TU1p d__8 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_move_TU1p s__8 = (const lzo_memops_move_TU1p) (const lzo_me
mops_TU0p) (ss); \
d__8[0] = s__8[0]; d__8[1] = s__8[1]; d__8[2] = s__8[2]; d__8[3] = s__8[3];
\
d__8[4] = s__8[4]; d__8[5] = s__8[5]; d__8[6] = s__8[6]; d__8[7] = s__8[7];
\
LZO_BLOCK_END
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU1p)0)==1)
#define LZO_MEMOPS_COPY1(dd,ss) LZO_MEMOPS_MOVE1(dd,ss)
#if (LZO_OPT_UNALIGNED16)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2)
#define LZO_MEMOPS_COPY2(dd,ss) \
* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (cons
t lzo_memops_TU0p) (ss)
#elif defined(lzo_memops_tcheck__)
#define LZO_MEMOPS_COPY2(dd,ss) \
LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU2,2,1)) { \
* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (
const lzo_memops_TU0p) (ss); \
} else { LZO_MEMOPS_MOVE2(dd,ss); } LZO_BLOCK_END
#else
#define LZO_MEMOPS_COPY2(dd,ss) LZO_MEMOPS_MOVE2(dd,ss)
#endif
#if (LZO_OPT_UNALIGNED32)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4)
#define LZO_MEMOPS_COPY4(dd,ss) \
* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (cons
t lzo_memops_TU0p) (ss)
#elif defined(lzo_memops_tcheck__)
#define LZO_MEMOPS_COPY4(dd,ss) \
LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU4,4,1)) { \
* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (
const lzo_memops_TU0p) (ss); \
} else { LZO_MEMOPS_MOVE4(dd,ss); } LZO_BLOCK_END
#else
#define LZO_MEMOPS_COPY4(dd,ss) LZO_MEMOPS_MOVE4(dd,ss)
#endif
#if (LZO_WORDSIZE != 8)
#define LZO_MEMOPS_COPY8(dd,ss) \
LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(
lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZ
O_BLOCK_END
#else
#if (LZO_OPT_UNALIGNED64)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
#define LZO_MEMOPS_COPY8(dd,ss) \
* (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (cons
t lzo_memops_TU0p) (ss)
#elif (LZO_OPT_UNALIGNED32)
#define LZO_MEMOPS_COPY8(dd,ss) \
LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(
lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZ
O_BLOCK_END
#elif defined(lzo_memops_tcheck__)
#define LZO_MEMOPS_COPY8(dd,ss) \
LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU8,8,1)) { \
* (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (
const lzo_memops_TU0p) (ss); \
} else { LZO_MEMOPS_MOVE8(dd,ss); } LZO_BLOCK_END
#else
#define LZO_MEMOPS_COPY8(dd,ss) LZO_MEMOPS_MOVE8(dd,ss)
#endif
#endif
#define LZO_MEMOPS_COPYN(dd,ss,nn) \
LZO_BLOCK_BEGIN \
lzo_memops_TU1p d__n = (lzo_memops_TU1p) (lzo_memops_TU0p) (dd); \
const lzo_memops_TU1p s__n = (const lzo_memops_TU1p) (const lzo_memops_TU0p)
(ss); \
lzo_uint n__n = (nn); \
while ((void)0, n__n >= 8) { LZO_MEMOPS_COPY8(d__n, s__n); d__n += 8; s__n +
= 8; n__n -= 8; } \
if ((void)0, n__n >= 4) { LZO_MEMOPS_COPY4(d__n, s__n); d__n += 4; s__n += 4
; n__n -= 4; } \
if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \
LZO_BLOCK_END
__lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss)
{
lzo_uint16_t v;
#if (LZO_ABI_LITTLE_ENDIAN)
LZO_MEMOPS_COPY2(&v, ss);
#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_AS
M_SYNTAX_GNUC)
const lzo_memops_TU2p s = (const lzo_memops_TU2p) ss;
unsigned long vv;
__asm__("lhbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s));
v = (lzo_uint16_t) vv;
#else
const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss;
v = (lzo_uint16_t) (((lzo_uint16_t)s[0]) | ((lzo_uint16_t)s[1] << 8));
#endif
return v;
}
#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
#define LZO_MEMOPS_GET_LE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_
TU0p) (ss))
#else
#define LZO_MEMOPS_GET_LE16(ss) lzo_memops_get_le16(ss)
#endif
__lzo_static_forceinline lzo_uint32_t lzo_memops_get_le32(const lzo_voidp ss)
{
lzo_uint32_t v;
#if (LZO_ABI_LITTLE_ENDIAN)
LZO_MEMOPS_COPY4(&v, ss);
#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_AS
M_SYNTAX_GNUC)
const lzo_memops_TU4p s = (const lzo_memops_TU4p) ss;
unsigned long vv;
__asm__("lwbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s));
v = (lzo_uint32_t) vv;
#else
const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss;
v = (lzo_uint32_t) (((lzo_uint32_t)s[0]) | ((lzo_uint32_t)s[1] << 8) | ((lzo
_uint32_t)s[2] << 16) | ((lzo_uint32_t)s[3] << 24));
#endif
return v;
}
#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN)
#define LZO_MEMOPS_GET_LE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_
TU0p) (ss))
#else
#define LZO_MEMOPS_GET_LE32(ss) lzo_memops_get_le32(ss)
#endif
#if (LZO_OPT_UNALIGNED64) && (LZO_ABI_LITTLE_ENDIAN)
#define LZO_MEMOPS_GET_LE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_
TU0p) (ss))
#endif
__lzo_static_forceinline lzo_uint16_t lzo_memops_get_ne16(const lzo_voidp ss)
{
lzo_uint16_t v;
LZO_MEMOPS_COPY2(&v, ss);
return v;
}
#if (LZO_OPT_UNALIGNED16)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2)
#define LZO_MEMOPS_GET_NE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_
TU0p) (ss))
#else
#define LZO_MEMOPS_GET_NE16(ss) lzo_memops_get_ne16(ss)
#endif
__lzo_static_forceinline lzo_uint32_t lzo_memops_get_ne32(const lzo_voidp ss)
{
lzo_uint32_t v;
LZO_MEMOPS_COPY4(&v, ss);
return v;
}
#if (LZO_OPT_UNALIGNED32)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4)
#define LZO_MEMOPS_GET_NE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_
TU0p) (ss))
#else
#define LZO_MEMOPS_GET_NE32(ss) lzo_memops_get_ne32(ss)
#endif
#if (LZO_OPT_UNALIGNED64)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8)
#define LZO_MEMOPS_GET_NE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_
TU0p) (ss))
#endif
__lzo_static_forceinline void lzo_memops_put_le16(lzo_voidp dd, lzo_uint16_t vv)
{
#if (LZO_ABI_LITTLE_ENDIAN)
LZO_MEMOPS_COPY2(dd, &vv);
#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_AS
M_SYNTAX_GNUC)
lzo_memops_TU2p d = (lzo_memops_TU2p) dd;
unsigned long v = vv;
__asm__("sthbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v));
#else
lzo_memops_TU1p d = (lzo_memops_TU1p) dd;
d[0] = LZO_BYTE((vv ) & 0xff);
d[1] = LZO_BYTE((vv >> 8) & 0xff);
#endif #endif
}
#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
#define LZO_MEMOPS_PUT_LE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) =
(vv))
#else
#define LZO_MEMOPS_PUT_LE16(dd,vv) lzo_memops_put_le16(dd,vv)
#endif
__lzo_static_forceinline void lzo_memops_put_le32(lzo_voidp dd, lzo_uint32_t vv)
{
#if (LZO_ABI_LITTLE_ENDIAN)
LZO_MEMOPS_COPY4(dd, &vv);
#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_AS
M_SYNTAX_GNUC)
lzo_memops_TU4p d = (lzo_memops_TU4p) dd;
unsigned long v = vv;
__asm__("stwbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v));
#else
lzo_memops_TU1p d = (lzo_memops_TU1p) dd;
d[0] = LZO_BYTE((vv ) & 0xff);
d[1] = LZO_BYTE((vv >> 8) & 0xff);
d[2] = LZO_BYTE((vv >> 16) & 0xff);
d[3] = LZO_BYTE((vv >> 24) & 0xff);
#endif
}
#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN)
#define LZO_MEMOPS_PUT_LE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) =
(vv))
#else
#define LZO_MEMOPS_PUT_LE32(dd,vv) lzo_memops_put_le32(dd,vv)
#endif
__lzo_static_forceinline void lzo_memops_put_ne16(lzo_voidp dd, lzo_uint16_t vv)
{
LZO_MEMOPS_COPY2(dd, &vv);
}
#if (LZO_OPT_UNALIGNED16)
#define LZO_MEMOPS_PUT_NE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) =
(vv))
#else
#define LZO_MEMOPS_PUT_NE16(dd,vv) lzo_memops_put_ne16(dd,vv)
#endif #endif
#if defined(LZO_UNALIGNED_OK_2) __lzo_static_forceinline void lzo_memops_put_ne32(lzo_voidp dd, lzo_uint32_t vv)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(short) == 2) {
LZO_MEMOPS_COPY4(dd, &vv);
}
#if (LZO_OPT_UNALIGNED32)
#define LZO_MEMOPS_PUT_NE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) =
(vv))
#else
#define LZO_MEMOPS_PUT_NE32(dd,vv) lzo_memops_put_ne32(dd,vv)
#endif #endif
#if defined(LZO_UNALIGNED_OK_4)
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32) == 4) lzo_unused_funcs_impl(void, lzo_memops_unused_funcs)(void)
#elif defined(LZO_ALIGNED_OK_4) {
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32) == 4) LZO_UNUSED_FUNC(lzo_memops_unused_funcs);
LZO_UNUSED_FUNC(lzo_memops_get_le16);
LZO_UNUSED_FUNC(lzo_memops_get_le32);
LZO_UNUSED_FUNC(lzo_memops_get_ne16);
LZO_UNUSED_FUNC(lzo_memops_get_ne32);
LZO_UNUSED_FUNC(lzo_memops_put_le16);
LZO_UNUSED_FUNC(lzo_memops_put_le32);
LZO_UNUSED_FUNC(lzo_memops_put_ne16);
LZO_UNUSED_FUNC(lzo_memops_put_ne32);
}
#endif
#ifndef UA_SET1
#define UA_SET1 LZO_MEMOPS_SET1
#endif
#ifndef UA_SET2
#define UA_SET2 LZO_MEMOPS_SET2
#endif
#ifndef UA_SET3
#define UA_SET3 LZO_MEMOPS_SET3
#endif
#ifndef UA_SET4
#define UA_SET4 LZO_MEMOPS_SET4
#endif
#ifndef UA_MOVE1
#define UA_MOVE1 LZO_MEMOPS_MOVE1
#endif
#ifndef UA_MOVE2
#define UA_MOVE2 LZO_MEMOPS_MOVE2
#endif
#ifndef UA_MOVE3
#define UA_MOVE3 LZO_MEMOPS_MOVE3
#endif
#ifndef UA_MOVE4
#define UA_MOVE4 LZO_MEMOPS_MOVE4
#endif
#ifndef UA_MOVE8
#define UA_MOVE8 LZO_MEMOPS_MOVE8
#endif
#ifndef UA_COPY1
#define UA_COPY1 LZO_MEMOPS_COPY1
#endif
#ifndef UA_COPY2
#define UA_COPY2 LZO_MEMOPS_COPY2
#endif
#ifndef UA_COPY3
#define UA_COPY3 LZO_MEMOPS_COPY3
#endif
#ifndef UA_COPY4
#define UA_COPY4 LZO_MEMOPS_COPY4
#endif
#ifndef UA_COPY8
#define UA_COPY8 LZO_MEMOPS_COPY8
#endif
#ifndef UA_COPYN
#define UA_COPYN LZO_MEMOPS_COPYN
#endif
#ifndef UA_COPYN_X
#define UA_COPYN_X LZO_MEMOPS_COPYN
#endif
#ifndef UA_GET_LE16
#define UA_GET_LE16 LZO_MEMOPS_GET_LE16
#endif
#ifndef UA_GET_LE32
#define UA_GET_LE32 LZO_MEMOPS_GET_LE32
#endif
#ifdef LZO_MEMOPS_GET_LE64
#ifndef UA_GET_LE64
#define UA_GET_LE64 LZO_MEMOPS_GET_LE64
#endif
#endif
#ifndef UA_GET_NE16
#define UA_GET_NE16 LZO_MEMOPS_GET_NE16
#endif
#ifndef UA_GET_NE32
#define UA_GET_NE32 LZO_MEMOPS_GET_NE32
#endif
#ifdef LZO_MEMOPS_GET_NE64
#ifndef UA_GET_NE64
#define UA_GET_NE64 LZO_MEMOPS_GET_NE64
#endif
#endif
#ifndef UA_PUT_LE16
#define UA_PUT_LE16 LZO_MEMOPS_PUT_LE16
#endif
#ifndef UA_PUT_LE32
#define UA_PUT_LE32 LZO_MEMOPS_PUT_LE32
#endif
#ifndef UA_PUT_NE16
#define UA_PUT_NE16 LZO_MEMOPS_PUT_NE16
#endif
#ifndef UA_PUT_NE32
#define UA_PUT_NE32 LZO_MEMOPS_PUT_NE32
#endif #endif
#define MEMCPY8_DS(dest,src,len) \ #define MEMCPY8_DS(dest,src,len) \
lzo_memcpy(dest,src,len); dest += len; src += len lzo_memcpy(dest,src,len); dest += len; src += len
#define BZERO8_PTR(s,l,n) \ #define BZERO8_PTR(s,l,n) \
lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n))
#define MEMCPY_DS(dest,src,len) \ #define MEMCPY_DS(dest,src,len) \
do *dest++ = *src++; while (--len > 0) do *dest++ = *src++; while (--len > 0)
__LZO_EXTERN_C int __lzo_init_done;
__LZO_EXTERN_C const char __lzo_copyright[];
LZO_EXTERN(const lzo_bytep) lzo_copyright(void); LZO_EXTERN(const lzo_bytep) lzo_copyright(void);
#ifndef __LZO_PTR_H #ifndef __LZO_PTR_H
#define __LZO_PTR_H #define __LZO_PTR_H 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if !defined(lzo_uintptr_t)
# if defined(__LZO_MMODEL_HUGE)
# define lzo_uintptr_t unsigned long
# else
# define lzo_uintptr_t acc_uintptr_t
# ifdef __ACC_INTPTR_T_IS_POINTER
# define __LZO_UINTPTR_T_IS_POINTER 1
# endif
# endif
#endif
#if (LZO_ARCH_I086) #if (LZO_ARCH_I086)
#define PTR(a) ((lzo_bytep) (a)) #error "LZO_ARCH_I086 is unsupported"
#define PTR_ALIGNED_4(a) ((ACC_PTR_FP_OFF(a) & 3) == 0)
#define PTR_ALIGNED2_4(a,b) (((ACC_PTR_FP_OFF(a) | ACC_PTR_FP_OFF(b)) & 3) == 0)
#elif (LZO_MM_PVP) #elif (LZO_MM_PVP)
#define PTR(a) ((lzo_bytep) (a)) #error "LZO_MM_PVP is unsupported"
#define PTR_ALIGNED_8(a) ((((lzo_uintptr_t)(a)) >> 61) == 0)
#define PTR_ALIGNED2_8(a,b) ((((lzo_uintptr_t)(a)|(lzo_uintptr_t)(b)) >> 61) ==
0)
#else #else
#define PTR(a) ((lzo_uintptr_t) (a)) #define PTR(a) ((lzo_uintptr_t) (a))
#define PTR_LINEAR(a) PTR(a) #define PTR_LINEAR(a) PTR(a)
#define PTR_ALIGNED_4(a) ((PTR_LINEAR(a) & 3) == 0) #define PTR_ALIGNED_4(a) ((PTR_LINEAR(a) & 3) == 0)
#define PTR_ALIGNED_8(a) ((PTR_LINEAR(a) & 7) == 0) #define PTR_ALIGNED_8(a) ((PTR_LINEAR(a) & 7) == 0)
#define PTR_ALIGNED2_4(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 3) == 0) #define PTR_ALIGNED2_4(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 3) == 0)
#define PTR_ALIGNED2_8(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 7) == 0) #define PTR_ALIGNED2_8(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 7) == 0)
#endif #endif
#define PTR_LT(a,b) (PTR(a) < PTR(b)) #define PTR_LT(a,b) (PTR(a) < PTR(b))
skipping to change at line 2141 skipping to change at line 4123
char a_char; char a_char;
unsigned char a_uchar; unsigned char a_uchar;
short a_short; short a_short;
unsigned short a_ushort; unsigned short a_ushort;
int a_int; int a_int;
unsigned int a_uint; unsigned int a_uint;
long a_long; long a_long;
unsigned long a_ulong; unsigned long a_ulong;
lzo_int a_lzo_int; lzo_int a_lzo_int;
lzo_uint a_lzo_uint; lzo_uint a_lzo_uint;
lzo_int32 a_lzo_int32; lzo_xint a_lzo_xint;
lzo_uint32 a_lzo_uint32; lzo_int16_t a_lzo_int16_t;
lzo_uint16_t a_lzo_uint16_t;
lzo_int32_t a_lzo_int32_t;
lzo_uint32_t a_lzo_uint32_t;
#if defined(lzo_uint64_t)
lzo_int64_t a_lzo_int64_t;
lzo_uint64_t a_lzo_uint64_t;
#endif
size_t a_size_t;
ptrdiff_t a_ptrdiff_t; ptrdiff_t a_ptrdiff_t;
lzo_uintptr_t a_lzo_uintptr_t; lzo_uintptr_t a_lzo_uintptr_t;
lzo_voidp a_lzo_voidp;
void * a_void_p; void * a_void_p;
lzo_bytep a_lzo_bytep;
lzo_bytepp a_lzo_bytepp;
lzo_uintp a_lzo_uintp;
lzo_uint * a_lzo_uint_p;
lzo_uint32p a_lzo_uint32p;
lzo_uint32 * a_lzo_uint32_p;
unsigned char * a_uchar_p;
char * a_char_p; char * a_char_p;
unsigned char * a_uchar_p;
const void * a_c_void_p;
const char * a_c_char_p;
const unsigned char * a_c_uchar_p;
lzo_voidp a_lzo_voidp;
lzo_bytep a_lzo_bytep;
const lzo_voidp a_c_lzo_voidp;
const lzo_bytep a_c_lzo_bytep;
} }
lzo_full_align_t; lzo_full_align_t;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
#define LZO_DETERMINISTIC #ifndef LZO_DETERMINISTIC
#define LZO_DETERMINISTIC 1
#endif
#define LZO_DICT_USE_PTR #ifndef LZO_DICT_USE_PTR
#if 0 && (LZO_ARCH_I086) #define LZO_DICT_USE_PTR 1
# undef LZO_DICT_USE_PTR
#endif #endif
#if defined(LZO_DICT_USE_PTR) #if (LZO_DICT_USE_PTR)
# define lzo_dict_t const lzo_bytep # define lzo_dict_t const lzo_bytep
# define lzo_dict_p lzo_dict_t __LZO_MMODEL * # define lzo_dict_p lzo_dict_t *
#else #else
# define lzo_dict_t lzo_uint # define lzo_dict_t lzo_uint
# define lzo_dict_p lzo_dict_t __LZO_MMODEL * # define lzo_dict_p lzo_dict_t *
#endif #endif
#endif #endif
#if !defined(MINILZO_CFG_SKIP_LZO_PTR) #if !defined(MINILZO_CFG_SKIP_LZO_PTR)
LZO_PUBLIC(lzo_uintptr_t) LZO_PUBLIC(lzo_uintptr_t)
__lzo_ptr_linear(const lzo_voidp ptr) __lzo_ptr_linear(const lzo_voidp ptr)
{ {
lzo_uintptr_t p; lzo_uintptr_t p;
#if (LZO_ARCH_I086) #if (LZO_ARCH_I086)
p = (((lzo_uintptr_t)(ACC_PTR_FP_SEG(ptr))) << (16 - ACC_MM_AHSHIFT)) + (ACC _PTR_FP_OFF(ptr)); #error "LZO_ARCH_I086 is unsupported"
#elif (LZO_MM_PVP) #elif (LZO_MM_PVP)
p = (lzo_uintptr_t) (ptr); #error "LZO_MM_PVP is unsupported"
p = (p << 3) | (p >> 61);
#else #else
p = (lzo_uintptr_t) PTR_LINEAR(ptr); p = (lzo_uintptr_t) PTR_LINEAR(ptr);
#endif #endif
return p; return p;
} }
LZO_PUBLIC(unsigned) LZO_PUBLIC(unsigned)
__lzo_align_gap(const lzo_voidp ptr, lzo_uint size) __lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
{ {
#if defined(__LZO_UINTPTR_T_IS_POINTER) #if (__LZO_UINTPTR_T_IS_POINTER)
size_t n = (size_t) ptr; #error "__LZO_UINTPTR_T_IS_POINTER is unsupported"
n = (((n + size - 1) / size) * size) - n;
#else #else
lzo_uintptr_t p, n; lzo_uintptr_t p, n;
if (size < 2) return 0;
p = __lzo_ptr_linear(ptr); p = __lzo_ptr_linear(ptr);
#if 0
n = (((p + size - 1) / size) * size) - p; n = (((p + size - 1) / size) * size) - p;
#else
if ((size & (size - 1)) != 0)
return 0;
n = size; n = ((p + n - 1) & ~(n - 1)) - p;
#endif
#endif #endif
assert(size > 0);
assert((long)n >= 0); assert((long)n >= 0);
assert(n <= size); assert(n <= size);
return (unsigned)n; return (unsigned)n;
} }
#endif #endif
#if !defined(MINILZO_CFG_SKIP_LZO_UTIL)
/* If you use the LZO library in a product, I would appreciate that you /* If you use the LZO library in a product, I would appreciate that you
* keep this copyright string in the executable of your product. * keep this copyright string in the executable of your product.
*/ */
const char __lzo_copyright[] = static const char lzo_copyright_[] =
#if !defined(__LZO_IN_MINLZO) #if !defined(__LZO_IN_MINLZO)
LZO_VERSION_STRING; LZO_VERSION_STRING;
#else #else
"\r\n\n" "\r\n\n"
"LZO data compression library.\n" "LZO data compression library.\n"
"$Copyright: LZO (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2 005, 2006, 2007, 2008 Markus Franz Xaver Johannes Oberhumer\n" "$Copyright: LZO Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhum er\n"
"<markus@oberhumer.com>\n" "<markus@oberhumer.com>\n"
"http://www.oberhumer.com $\n\n" "http://www.oberhumer.com $\n\n"
"$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n" "$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
"$Built: " __DATE__ " " __TIME__ " $\n"
"$Info: " LZO_INFO_STRING " $\n"; "$Info: " LZO_INFO_STRING " $\n";
#endif #endif
static const char lzo_version_string_[] = LZO_VERSION_STRING;
static const char lzo_version_date_[] = LZO_VERSION_DATE;
LZO_PUBLIC(const lzo_bytep) LZO_PUBLIC(const lzo_bytep)
lzo_copyright(void) lzo_copyright(void)
{ {
#if (LZO_OS_DOS16 && LZO_CC_TURBOC) return (const lzo_bytep) lzo_copyright_;
return (lzo_voidp) __lzo_copyright;
#else
return (const lzo_bytep) __lzo_copyright;
#endif
} }
LZO_PUBLIC(unsigned) LZO_PUBLIC(unsigned)
lzo_version(void) lzo_version(void)
{ {
return LZO_VERSION; return LZO_VERSION;
} }
LZO_PUBLIC(const char *) LZO_PUBLIC(const char *)
lzo_version_string(void) lzo_version_string(void)
{ {
return LZO_VERSION_STRING; return lzo_version_string_;
} }
LZO_PUBLIC(const char *) LZO_PUBLIC(const char *)
lzo_version_date(void) lzo_version_date(void)
{ {
return LZO_VERSION_DATE; return lzo_version_date_;
} }
LZO_PUBLIC(const lzo_charp) LZO_PUBLIC(const lzo_charp)
_lzo_version_string(void) _lzo_version_string(void)
{ {
return LZO_VERSION_STRING; return lzo_version_string_;
} }
LZO_PUBLIC(const lzo_charp) LZO_PUBLIC(const lzo_charp)
_lzo_version_date(void) _lzo_version_date(void)
{ {
return LZO_VERSION_DATE; return lzo_version_date_;
} }
#define LZO_BASE 65521u #define LZO_BASE 65521u
#define LZO_NMAX 5552 #define LZO_NMAX 5552
#define LZO_DO1(buf,i) s1 += buf[i]; s2 += s1 #define LZO_DO1(buf,i) s1 += buf[i]; s2 += s1
#define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1); #define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1)
#define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2); #define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2)
#define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4); #define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4)
#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8); #define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8)
LZO_PUBLIC(lzo_uint32) LZO_PUBLIC(lzo_uint32_t)
lzo_adler32(lzo_uint32 adler, const lzo_bytep buf, lzo_uint len) lzo_adler32(lzo_uint32_t adler, const lzo_bytep buf, lzo_uint len)
{ {
lzo_uint32 s1 = adler & 0xffff; lzo_uint32_t s1 = adler & 0xffff;
lzo_uint32 s2 = (adler >> 16) & 0xffff; lzo_uint32_t s2 = (adler >> 16) & 0xffff;
unsigned k; unsigned k;
if (buf == NULL) if (buf == NULL)
return 1; return 1;
while (len > 0) while (len > 0)
{ {
k = len < LZO_NMAX ? (unsigned) len : LZO_NMAX; k = len < LZO_NMAX ? (unsigned) len : LZO_NMAX;
len -= k; len -= k;
if (k >= 16) do if (k >= 16) do
skipping to change at line 2324 skipping to change at line 4316
} }
return (s2 << 16) | s1; return (s2 << 16) | s1;
} }
#undef LZO_DO1 #undef LZO_DO1
#undef LZO_DO2 #undef LZO_DO2
#undef LZO_DO4 #undef LZO_DO4
#undef LZO_DO8 #undef LZO_DO8
#undef LZO_DO16 #undef LZO_DO16
#endif
#if !defined(MINILZO_CFG_SKIP_LZO_STRING) #if !defined(MINILZO_CFG_SKIP_LZO_STRING)
#undef lzo_memcmp #undef lzo_memcmp
#undef lzo_memcpy #undef lzo_memcpy
#undef lzo_memmove #undef lzo_memmove
#undef lzo_memset #undef lzo_memset
#if !defined(__LZO_MMODEL_HUGE) #if !defined(__LZO_MMODEL_HUGE)
# undef LZO_HAVE_MM_HUGE_PTR # undef LZO_HAVE_MM_HUGE_PTR
#endif #endif
#define lzo_hsize_t lzo_uint #define lzo_hsize_t lzo_uint
#define lzo_hvoid_p lzo_voidp #define lzo_hvoid_p lzo_voidp
skipping to change at line 2346 skipping to change at line 4339
#define lzo_hmemcmp lzo_memcmp #define lzo_hmemcmp lzo_memcmp
#define lzo_hmemcpy lzo_memcpy #define lzo_hmemcpy lzo_memcpy
#define lzo_hmemmove lzo_memmove #define lzo_hmemmove lzo_memmove
#define lzo_hmemset lzo_memset #define lzo_hmemset lzo_memset
#define __LZOLIB_HMEMCPY_CH_INCLUDED 1 #define __LZOLIB_HMEMCPY_CH_INCLUDED 1
#if !defined(LZOLIB_PUBLIC) #if !defined(LZOLIB_PUBLIC)
# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) # define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f)
#endif #endif
LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo _hsize_t len) LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo _hsize_t len)
{ {
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMCMP) #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
const lzo_hbyte_p p1 = (const lzo_hbyte_p) s1; const lzo_hbyte_p p1 = LZO_STATIC_CAST(const lzo_hbyte_p, s1);
const lzo_hbyte_p p2 = (const lzo_hbyte_p) s2; const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, s2);
if __lzo_likely(len > 0) do if __lzo_likely(len > 0) do
{ {
int d = *p1 - *p2; int d = *p1 - *p2;
if (d != 0) if (d != 0)
return d; return d;
p1++; p2++; p1++; p2++;
} while __lzo_likely(--len > 0); } while __lzo_likely(--len > 0);
return 0; return 0;
#else #else
return memcmp(s1, s2, len); return memcmp(s1, s2, len);
#endif #endif
} }
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src , lzo_hsize_t len) LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src , lzo_hsize_t len)
{ {
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMCPY) #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
lzo_hbyte_p p1 = (lzo_hbyte_p) dest; lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
const lzo_hbyte_p p2 = (const lzo_hbyte_p) src; const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
if (!(len > 0) || p1 == p2) if (!(len > 0) || p1 == p2)
return dest; return dest;
do do
*p1++ = *p2++; *p1++ = *p2++;
while __lzo_likely(--len > 0); while __lzo_likely(--len > 0);
return dest; return dest;
#else #else
return memcpy(dest, src, len); return memcpy(dest, src, len);
#endif #endif
} }
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p sr c, lzo_hsize_t len) LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p sr c, lzo_hsize_t len)
{ {
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMMOVE) #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
lzo_hbyte_p p1 = (lzo_hbyte_p) dest; lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
const lzo_hbyte_p p2 = (const lzo_hbyte_p) src; const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
if (!(len > 0) || p1 == p2) if (!(len > 0) || p1 == p2)
return dest; return dest;
if (p1 < p2) if (p1 < p2)
{ {
do do
*p1++ = *p2++; *p1++ = *p2++;
while __lzo_likely(--len > 0); while __lzo_likely(--len > 0);
} }
else else
{ {
skipping to change at line 2402 skipping to change at line 4395
p2 += len; p2 += len;
do do
*--p1 = *--p2; *--p1 = *--p2;
while __lzo_likely(--len > 0); while __lzo_likely(--len > 0);
} }
return dest; return dest;
#else #else
return memmove(dest, src, len); return memmove(dest, src, len);
#endif #endif
} }
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int c, lzo_hsize_t len) LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int cc, lzo_hsize_t len)
{ {
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMSET) #if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
lzo_hbyte_p p = (lzo_hbyte_p) s; lzo_hbyte_p p = LZO_STATIC_CAST(lzo_hbyte_p, s);
unsigned char c = LZO_ITRUNC(unsigned char, cc);
if __lzo_likely(len > 0) do if __lzo_likely(len > 0) do
*p++ = (unsigned char) c; *p++ = c;
while __lzo_likely(--len > 0); while __lzo_likely(--len > 0);
return s; return s;
#else #else
return memset(s, c, len); return memset(s, cc, len);
#endif #endif
} }
#undef LZOLIB_PUBLIC #undef LZOLIB_PUBLIC
#endif #endif
#if !defined(MINILZO_CFG_SKIP_LZO_INIT)
#if !defined(__LZO_IN_MINILZO) #if !defined(__LZO_IN_MINILZO)
#define ACC_WANT_ACC_CHK_CH 1 #define LZO_WANT_ACC_CHK_CH 1
#undef ACCCHK_ASSERT #undef LZOCHK_ASSERT
ACCCHK_ASSERT_IS_SIGNED_T(lzo_int)
ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
ACCCHK_ASSERT_IS_SIGNED_T(lzo_int32) LZOCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0)
ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32) LZOCHK_ASSERT_IS_SIGNED_T(lzo_int)
ACCCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0) LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
ACCCHK_ASSERT(sizeof(lzo_uint32) >= 4) #if !(__LZO_UINTPTR_T_IS_POINTER)
LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
#endif
LZOCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_xint)
#if !defined(__LZO_UINTPTR_T_IS_POINTER)
ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
#endif #endif
ACCCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp)) #undef LZOCHK_ASSERT
ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_xint) union lzo_config_check_union {
ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint32)) lzo_uint a[2];
ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint)) unsigned char b[2*LZO_MAX(8,sizeof(lzo_uint))];
ACCCHK_ASSERT(sizeof(lzo_xint) == sizeof(lzo_uint32) || sizeof(lzo_xint) == #if defined(lzo_uint64_t)
sizeof(lzo_uint)) lzo_uint64_t c[2];
#endif
};
#if 0
#define u2p(ptr,off) ((lzo_voidp) (((lzo_bytep)(lzo_voidp)(ptr)) + (off)))
#else
static __lzo_noinline lzo_voidp u2p(lzo_voidp ptr, lzo_uint off)
{
return (lzo_voidp) ((lzo_bytep) ptr + off);
}
#endif #endif
#undef ACCCHK_ASSERT
LZO_PUBLIC(int) LZO_PUBLIC(int)
_lzo_config_check(void) _lzo_config_check(void)
{ {
lzo_bool r = 1; #if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030100ul && LZO_CC_CLANG < 0x030300ul))
union { unsigned char c[2*sizeof(lzo_xint)]; lzo_xint l[2]; } u; # if 0
lzo_uintptr_t p; volatile
# endif
#if !defined(LZO_CFG_NO_CONFIG_CHECK)
#if defined(LZO_ABI_BIG_ENDIAN)
u.l[0] = u.l[1] = 0; u.c[sizeof(lzo_xint) - 1] = 128;
r &= (u.l[0] == 128);
#endif
#if defined(LZO_ABI_LITTLE_ENDIAN)
u.l[0] = u.l[1] = 0; u.c[0] = 128;
r &= (u.l[0] == 128);
#endif
#if defined(LZO_UNALIGNED_OK_2)
p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0];
u.l[0] = u.l[1] = 0;
r &= ((* (const lzo_ushortp) (p+1)) == 0);
#endif #endif
#if defined(LZO_UNALIGNED_OK_4) union lzo_config_check_union u;
p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0]; lzo_voidp p;
u.l[0] = u.l[1] = 0; unsigned r = 1;
r &= ((* (const lzo_uint32p) (p+1)) == 0);
u.a[0] = u.a[1] = 0;
p = u2p(&u, 0);
r &= ((* (lzo_bytep) p) == 0);
#if !(LZO_CFG_NO_CONFIG_CHECK)
#if (LZO_ABI_BIG_ENDIAN)
u.a[0] = u.a[1] = 0; u.b[sizeof(lzo_uint) - 1] = 128;
p = u2p(&u, 0);
r &= ((* (lzo_uintp) p) == 128);
#endif
#if (LZO_ABI_LITTLE_ENDIAN)
u.a[0] = u.a[1] = 0; u.b[0] = 128;
p = u2p(&u, 0);
r &= ((* (lzo_uintp) p) == 128);
#endif
u.a[0] = u.a[1] = 0;
u.b[0] = 1; u.b[3] = 2;
p = u2p(&u, 1);
r &= UA_GET_NE16(p) == 0;
r &= UA_GET_LE16(p) == 0;
u.b[1] = 128;
r &= UA_GET_LE16(p) == 128;
u.b[2] = 129;
r &= UA_GET_LE16(p) == LZO_UINT16_C(0x8180);
#if (LZO_ABI_BIG_ENDIAN)
r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8081);
#endif
#if (LZO_ABI_LITTLE_ENDIAN)
r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8180);
#endif
u.a[0] = u.a[1] = 0;
u.b[0] = 3; u.b[5] = 4;
p = u2p(&u, 1);
r &= UA_GET_NE32(p) == 0;
r &= UA_GET_LE32(p) == 0;
u.b[1] = 128;
r &= UA_GET_LE32(p) == 128;
u.b[2] = 129; u.b[3] = 130; u.b[4] = 131;
r &= UA_GET_LE32(p) == LZO_UINT32_C(0x83828180);
#if (LZO_ABI_BIG_ENDIAN)
r &= UA_GET_NE32(p) == LZO_UINT32_C(0x80818283);
#endif
#if (LZO_ABI_LITTLE_ENDIAN)
r &= UA_GET_NE32(p) == LZO_UINT32_C(0x83828180);
#endif
#if defined(UA_GET_NE64)
u.c[0] = u.c[1] = 0;
u.b[0] = 5; u.b[9] = 6;
p = u2p(&u, 1);
u.c[0] = u.c[1] = 0;
r &= UA_GET_NE64(p) == 0;
#if defined(UA_GET_LE64)
r &= UA_GET_LE64(p) == 0;
u.b[1] = 128;
r &= UA_GET_LE64(p) == 128;
#endif
#endif
#if defined(lzo_bitops_ctlz32)
{ unsigned i = 0; lzo_uint32_t v;
for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
r &= lzo_bitops_ctlz32(v) == 31 - i;
r &= lzo_bitops_ctlz32_func(v) == 31 - i;
}}
#endif
#if defined(lzo_bitops_ctlz64)
{ unsigned i = 0; lzo_uint64_t v;
for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
r &= lzo_bitops_ctlz64(v) == 63 - i;
r &= lzo_bitops_ctlz64_func(v) == 63 - i;
}}
#endif
#if defined(lzo_bitops_cttz32)
{ unsigned i = 0; lzo_uint32_t v;
for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
r &= lzo_bitops_cttz32(v) == i;
r &= lzo_bitops_cttz32_func(v) == i;
}}
#endif
#if defined(lzo_bitops_cttz64)
{ unsigned i = 0; lzo_uint64_t v;
for (v = 1; v != 0 && r == 1; v <<= 1, i++) {
r &= lzo_bitops_cttz64(v) == i;
r &= lzo_bitops_cttz64_func(v) == i;
}}
#endif #endif
#endif #endif
LZO_UNUSED_FUNC(lzo_bitops_unused_funcs);
LZO_UNUSED(u); LZO_UNUSED(p);
return r == 1 ? LZO_E_OK : LZO_E_ERROR; return r == 1 ? LZO_E_OK : LZO_E_ERROR;
} }
int __lzo_init_done = 0;
LZO_PUBLIC(int) LZO_PUBLIC(int)
__lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5, __lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5,
int s6, int s7, int s8, int s9) int s6, int s7, int s8, int s9)
{ {
int r; int r;
#if defined(__LZO_IN_MINILZO) #if defined(__LZO_IN_MINILZO)
#elif (LZO_CC_MSC && ((_MSC_VER) < 700)) #elif (LZO_CC_MSC && ((_MSC_VER) < 700))
#else #else
#define ACC_WANT_ACC_CHK_CH 1 #define LZO_WANT_ACC_CHK_CH 1
#undef ACCCHK_ASSERT #undef LZOCHK_ASSERT
#define ACCCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr) #define LZOCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr)
#endif #endif
#undef ACCCHK_ASSERT #undef LZOCHK_ASSERT
__lzo_init_done = 1;
if (v == 0) if (v == 0)
return LZO_E_ERROR; return LZO_E_ERROR;
r = (s1 == -1 || s1 == (int) sizeof(short)) && r = (s1 == -1 || s1 == (int) sizeof(short)) &&
(s2 == -1 || s2 == (int) sizeof(int)) && (s2 == -1 || s2 == (int) sizeof(int)) &&
(s3 == -1 || s3 == (int) sizeof(long)) && (s3 == -1 || s3 == (int) sizeof(long)) &&
(s4 == -1 || s4 == (int) sizeof(lzo_uint32)) && (s4 == -1 || s4 == (int) sizeof(lzo_uint32_t)) &&
(s5 == -1 || s5 == (int) sizeof(lzo_uint)) && (s5 == -1 || s5 == (int) sizeof(lzo_uint)) &&
(s6 == -1 || s6 == (int) lzo_sizeof_dict_t) && (s6 == -1 || s6 == (int) lzo_sizeof_dict_t) &&
(s7 == -1 || s7 == (int) sizeof(char *)) && (s7 == -1 || s7 == (int) sizeof(char *)) &&
(s8 == -1 || s8 == (int) sizeof(lzo_voidp)) && (s8 == -1 || s8 == (int) sizeof(lzo_voidp)) &&
(s9 == -1 || s9 == (int) sizeof(lzo_callback_t)); (s9 == -1 || s9 == (int) sizeof(lzo_callback_t));
if (!r) if (!r)
return LZO_E_ERROR; return LZO_E_ERROR;
r = _lzo_config_check(); r = _lzo_config_check();
if (r != LZO_E_OK) if (r != LZO_E_OK)
skipping to change at line 2535 skipping to change at line 4604
#endif #endif
{ {
LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d); LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d);
return 1; return 1;
} }
#endif #endif
#endif #endif
#define do_compress _lzo1x_1_do_compress #endif
#define LZO1X 1
#define LZO_EOF_CODE 1
#define M2_MAX_OFFSET 0x0800
#if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS) #if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS)
#define LZO_NEED_DICT_H #if 1 && defined(UA_GET_LE32)
#undef LZO_DICT_USE_PTR
#define LZO_DICT_USE_PTR 0
#undef lzo_dict_t
#define lzo_dict_t lzo_uint16_t
#endif
#define LZO_NEED_DICT_H 1
#ifndef D_BITS
#define D_BITS 14 #define D_BITS 14
#endif
#define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) #define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5)
#define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f)
#if 1
#define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS)))
#else
#define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS)))
#endif
#ifndef __LZO_CONFIG1X_H #ifndef __LZO_CONFIG1X_H
#define __LZO_CONFIG1X_H #define __LZO_CONFIG1X_H 1
#if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) #if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z)
# define LZO1X # define LZO1X 1
#endif #endif
#if !defined(__LZO_IN_MINILZO) #if !defined(__LZO_IN_MINILZO)
#include "lzo/lzo1x.h" #include <lzo/lzo1x.h>
#endif #endif
#define LZO_EOF_CODE #ifndef LZO_EOF_CODE
#define LZO_EOF_CODE 1
#endif
#undef LZO_DETERMINISTIC #undef LZO_DETERMINISTIC
#define M1_MAX_OFFSET 0x0400 #define M1_MAX_OFFSET 0x0400
#ifndef M2_MAX_OFFSET #ifndef M2_MAX_OFFSET
#define M2_MAX_OFFSET 0x0800 #define M2_MAX_OFFSET 0x0800
#endif #endif
#define M3_MAX_OFFSET 0x4000 #define M3_MAX_OFFSET 0x4000
#define M4_MAX_OFFSET 0xbfff #define M4_MAX_OFFSET 0xbfff
#define MX_MAX_OFFSET (M1_MAX_OFFSET + M2_MAX_OFFSET) #define MX_MAX_OFFSET (M1_MAX_OFFSET + M2_MAX_OFFSET)
skipping to change at line 2595 skipping to change at line 4684
#endif #endif
#if defined(LZO_NEED_DICT_H) #if defined(LZO_NEED_DICT_H)
#ifndef LZO_HASH #ifndef LZO_HASH
#define LZO_HASH LZO_HASH_LZO_INCREMENTAL_B #define LZO_HASH LZO_HASH_LZO_INCREMENTAL_B
#endif #endif
#define DL_MIN_LEN M2_MIN_LEN #define DL_MIN_LEN M2_MIN_LEN
#ifndef __LZO_DICT_H #ifndef __LZO_DICT_H
#define __LZO_DICT_H #define __LZO_DICT_H 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if !defined(D_BITS) && defined(DBITS) #if !defined(D_BITS) && defined(DBITS)
# define D_BITS DBITS # define D_BITS DBITS
#endif #endif
#if !defined(D_BITS) #if !defined(D_BITS)
# error "D_BITS is not defined" # error "D_BITS is not defined"
skipping to change at line 2636 skipping to change at line 4725
# define DL_SIZE LZO_SIZE(DL_BITS) # define DL_SIZE LZO_SIZE(DL_BITS)
# define DL_MASK LZO_MASK(DL_BITS) # define DL_MASK LZO_MASK(DL_BITS)
#else #else
# define DL_SIZE LZO_USIZE(DL_BITS) # define DL_SIZE LZO_USIZE(DL_BITS)
# define DL_MASK LZO_UMASK(DL_BITS) # define DL_MASK LZO_UMASK(DL_BITS)
#endif #endif
#if (D_BITS != DL_BITS + DD_BITS) #if (D_BITS != DL_BITS + DD_BITS)
# error "D_BITS does not match" # error "D_BITS does not match"
#endif #endif
#if (D_BITS < 8 || D_BITS > 18) #if (D_BITS < 6 || D_BITS > 18)
# error "invalid D_BITS" # error "invalid D_BITS"
#endif #endif
#if (DL_BITS < 8 || DL_BITS > 20) #if (DL_BITS < 6 || DL_BITS > 20)
# error "invalid DL_BITS" # error "invalid DL_BITS"
#endif #endif
#if (DD_BITS < 0 || DD_BITS > 6) #if (DD_BITS < 0 || DD_BITS > 6)
# error "invalid DD_BITS" # error "invalid DD_BITS"
#endif #endif
#if !defined(DL_MIN_LEN) #if !defined(DL_MIN_LEN)
# define DL_MIN_LEN 3 # define DL_MIN_LEN 3
#endif #endif
#if !defined(DL_SHIFT) #if !defined(DL_SHIFT)
skipping to change at line 2698 skipping to change at line 4787
#define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0]) #define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0])
#define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0]) #define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0])
#define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0]) #define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0])
#define DMS(v,s) ((lzo_uint) (((v) & (D_MASK >> (s))) << (s))) #define DMS(v,s) ((lzo_uint) (((v) & (D_MASK >> (s))) << (s)))
#define DM(v) DMS(v,0) #define DM(v) DMS(v,0)
#if (LZO_HASH == LZO_HASH_GZIP) #if (LZO_HASH == LZO_HASH_GZIP)
# define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT)) # define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT))
#elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL) #elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL)
# define __LZO_HASH_INCREMENTAL # define __LZO_HASH_INCREMENTAL 1
# define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT) # define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT)
# define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2]) # define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2])
# define _DINDEX(dv,p) (dv) # define _DINDEX(dv,p) (dv)
# define DVAL_LOOKAHEAD DL_MIN_LEN # define DVAL_LOOKAHEAD DL_MIN_LEN
#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A) #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A)
# define __LZO_HASH_INCREMENTAL # define __LZO_HASH_INCREMENTAL 1
# define DVAL_FIRST(dv,p) dv = _DV_A((p),5) # define DVAL_FIRST(dv,p) dv = _DV_A((p),5)
# define DVAL_NEXT(dv,p) \ # define DVAL_NEXT(dv,p) \
dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2]) dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2])
# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5)
# define DVAL_LOOKAHEAD DL_MIN_LEN # define DVAL_LOOKAHEAD DL_MIN_LEN
#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B) #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B)
# define __LZO_HASH_INCREMENTAL # define __LZO_HASH_INCREMENTAL 1
# define DVAL_FIRST(dv,p) dv = _DV_B((p),5) # define DVAL_FIRST(dv,p) dv = _DV_B((p),5)
# define DVAL_NEXT(dv,p) \ # define DVAL_NEXT(dv,p) \
dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5))) dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5)))
# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5)
# define DVAL_LOOKAHEAD DL_MIN_LEN # define DVAL_LOOKAHEAD DL_MIN_LEN
#else #else
# error "choose a hashing strategy" # error "choose a hashing strategy"
#endif #endif
skipping to change at line 2742 skipping to change at line 4831
#endif #endif
#if !defined(__LZO_HASH_INCREMENTAL) #if !defined(__LZO_HASH_INCREMENTAL)
# define DVAL_FIRST(dv,p) ((void) 0) # define DVAL_FIRST(dv,p) ((void) 0)
# define DVAL_NEXT(dv,p) ((void) 0) # define DVAL_NEXT(dv,p) ((void) 0)
# define DVAL_LOOKAHEAD 0 # define DVAL_LOOKAHEAD 0
#endif #endif
#if !defined(DVAL_ASSERT) #if !defined(DVAL_ASSERT)
#if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG) #if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG)
static void DVAL_ASSERT(lzo_xint dv, const lzo_bytep p) #if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZ
O_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
static void __attribute__((__unused__))
#else
static void
#endif
DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
{ {
lzo_xint df; lzo_xint df;
DVAL_FIRST(df,(p)); DVAL_FIRST(df,(p));
assert(DINDEX(dv,p) == DINDEX(df,p)); assert(DINDEX(dv,p) == DINDEX(df,p));
} }
#else #else
# define DVAL_ASSERT(dv,p) ((void) 0) # define DVAL_ASSERT(dv,p) ((void) 0)
#endif #endif
#endif #endif
#if defined(LZO_DICT_USE_PTR) #if (LZO_DICT_USE_PTR)
# define DENTRY(p,in) (p) # define DENTRY(p,in) (p)
# define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex] # define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex]
#else #else
# define DENTRY(p,in) ((lzo_uint) ((p)-(in))) # define DENTRY(p,in) ((lzo_dict_t) pd(p, in))
# define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex] # define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex]
#endif #endif
#if (DD_BITS == 0) #if (DD_BITS == 0)
# define UPDATE_D(dict,drun,dv,p,in) dict[ DINDEX(dv,p) ] = DENTRY(p,in) # define UPDATE_D(dict,drun,dv,p,in) dict[ DINDEX(dv,p) ] = DENTRY(p,in)
# define UPDATE_I(dict,drun,index,p,in) dict[index] = DENTRY(p,in) # define UPDATE_I(dict,drun,index,p,in) dict[index] = DENTRY(p,in)
# define UPDATE_P(ptr,drun,p,in) (ptr)[0] = DENTRY(p,in) # define UPDATE_P(ptr,drun,p,in) (ptr)[0] = DENTRY(p,in)
#else #else
# define UPDATE_D(dict,drun,dv,p,in) \ # define UPDATE_D(dict,drun,dv,p,in) \
dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
# define UPDATE_I(dict,drun,index,p,in) \ # define UPDATE_I(dict,drun,index,p,in) \
dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
# define UPDATE_P(ptr,drun,p,in) \ # define UPDATE_P(ptr,drun,p,in) \
(ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK
#endif #endif
#if defined(LZO_DICT_USE_PTR) #if (LZO_DICT_USE_PTR)
#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
(m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset) (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset)
#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
(BOUNDS_CHECKING_OFF_IN_EXPR(( \ (BOUNDS_CHECKING_OFF_IN_EXPR(( \
m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \ m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \
PTR_LT(m_pos,in) || \ PTR_LT(m_pos,in) || \
(m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) <= 0 || \ (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) == 0 || \
m_off > max_offset ))) m_off > max_offset )))
#else #else
#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
(m_off == 0 || \ (m_off == 0 || \
((m_off = pd(ip, in) - m_off) > max_offset) || \ ((m_off = pd(ip, in) - m_off) > max_offset) || \
(m_pos = (ip) - (m_off), 0) ) (m_pos = (ip) - (m_off), 0) )
#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
(pd(ip, in) <= m_off || \ (pd(ip, in) <= m_off || \
((m_off = pd(ip, in) - m_off) > max_offset) || \ ((m_off = pd(ip, in) - m_off) > max_offset) || \
(m_pos = (ip) - (m_off), 0) ) (m_pos = (ip) - (m_off), 0) )
#endif #endif
#if defined(LZO_DETERMINISTIC) #if (LZO_DETERMINISTIC)
# define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET # define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET
#else #else
# define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET # define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
#endif #endif
#endif #endif
#define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR)
#ifndef DO_COMPRESS
#define DO_COMPRESS lzo1x_1_compress #define DO_COMPRESS lzo1x_1_compress
#endif
#if 1 && defined(DO_COMPRESS) && !defined(do_compress)
# define do_compress LZO_PP_ECONCAT2(DO_COMPRESS,_core)
#endif
static __lzo_noinline lzo_uint static __lzo_noinline lzo_uint
do_compress ( const lzo_bytep in , lzo_uint in_len, do_compress ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len, lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem ) lzo_uint ti, lzo_voidp wrkmem)
{ {
register const lzo_bytep ip; const lzo_bytep ip;
lzo_bytep op; lzo_bytep op;
const lzo_bytep const in_end = in + in_len; const lzo_bytep const in_end = in + in_len;
const lzo_bytep const ip_end = in + in_len - M2_MAX_LEN - 5; const lzo_bytep const ip_end = in + in_len - 20;
const lzo_bytep ii; const lzo_bytep ii;
lzo_dict_p const dict = (lzo_dict_p) wrkmem; lzo_dict_p const dict = (lzo_dict_p) wrkmem;
op = out; op = out;
ip = in; ip = in;
ii = ip; ii = ip;
ip += 4; ip += ti < 4 ? 4 - ti : 0;
for (;;) for (;;)
{ {
register const lzo_bytep m_pos; const lzo_bytep m_pos;
lzo_uint m_off; #if !(LZO_DETERMINISTIC)
LZO_DEFINE_UNINITIALIZED_VAR(lzo_uint, m_off, 0);
lzo_uint m_len; lzo_uint m_len;
lzo_uint dindex; lzo_uint dindex;
next:
if __lzo_unlikely(ip >= ip_end)
break;
DINDEX1(dindex,ip); DINDEX1(dindex,ip);
GINDEX(m_pos,m_off,dict,dindex,in); GINDEX(m_pos,m_off,dict,dindex,in);
if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
goto literal; goto literal;
#if 1 #if 1
if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
goto try_match; goto try_match;
DINDEX2(dindex,ip); DINDEX2(dindex,ip);
#endif #endif
GINDEX(m_pos,m_off,dict,dindex,in); GINDEX(m_pos,m_off,dict,dindex,in);
if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
goto literal; goto literal;
if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
goto try_match; goto try_match;
goto literal; goto literal;
try_match: try_match:
#if 1 && defined(LZO_UNALIGNED_OK_2) #if (LZO_OPT_UNALIGNED32)
if (* (const lzo_ushortp) m_pos != * (const lzo_ushortp) ip) if (UA_GET_NE32(m_pos) != UA_GET_NE32(ip))
#else #else
if (m_pos[0] != ip[0] || m_pos[1] != ip[1]) if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos [3] != ip[3])
#endif #endif
{ {
literal:
UPDATE_I(dict,0,dindex,ip,in);
ip += 1 + ((ip - ii) >> 5);
continue;
} }
else UPDATE_I(dict,0,dindex,ip,in);
{
if __lzo_likely(m_pos[2] == ip[2])
{
#if 0
if (m_off <= M2_MAX_OFFSET)
goto match;
if (lit <= 3)
goto match;
if (lit == 3)
{
assert(op - 2 > out); op[-2] |= LZO_BYTE(3);
*op++ = *ii++; *op++ = *ii++; *op++ = *ii++;
goto code_match;
}
if (m_pos[3] == ip[3])
#endif
goto match;
}
else
{
#if 0
#if 0
if (m_off <= M1_MAX_OFFSET && lit > 0 && lit <= 3)
#else #else
if (m_off <= M1_MAX_OFFSET && lit == 3) lzo_uint m_off;
#endif lzo_uint m_len;
{ {
register lzo_uint t; lzo_uint32_t dv;
lzo_uint dindex;
t = lit;
assert(op - 2 > out); op[-2] |= LZO_BYTE(t);
do *op++ = *ii++; while (--t > 0);
assert(ii == ip);
m_off -= 1;
*op++ = LZO_BYTE(M1_MARKER | ((m_off & 3) << 2));
*op++ = LZO_BYTE(m_off >> 2);
ip += 2;
goto match_done;
}
#endif
}
}
literal: literal:
UPDATE_I(dict,0,dindex,ip,in); ip += 1 + ((ip - ii) >> 5);
++ip; next:
if __lzo_unlikely(ip >= ip_end) if __lzo_unlikely(ip >= ip_end)
break; break;
continue; dv = UA_GET_LE32(ip);
dindex = DINDEX(dv,ip);
match: GINDEX(m_off,m_pos,in+dict,dindex,in);
UPDATE_I(dict,0,dindex,ip,in); UPDATE_I(dict,0,dindex,ip,in);
if (pd(ip,ii) > 0) if __lzo_unlikely(dv != UA_GET_LE32(m_pos))
{ goto literal;
register lzo_uint t = pd(ip,ii); }
#endif
ii -= ti; ti = 0;
{
lzo_uint t = pd(ip,ii);
if (t != 0)
{
if (t <= 3) if (t <= 3)
{ {
assert(op - 2 > out); op[-2] = LZO_BYTE(op[-2] | t);
op[-2] |= LZO_BYTE(t); #if (LZO_OPT_UNALIGNED32)
UA_COPY4(op, ii);
op += t;
#else
{ do *op++ = *ii++; while (--t > 0); }
#endif
} }
else if (t <= 18) #if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64)
else if (t <= 16)
{
*op++ = LZO_BYTE(t - 3); *op++ = LZO_BYTE(t - 3);
UA_COPY8(op, ii);
UA_COPY8(op+8, ii+8);
op += t;
}
#endif
else else
{ {
register lzo_uint tt = t - 18; if (t <= 18)
*op++ = LZO_BYTE(t - 3);
*op++ = 0; else
while (tt > 255)
{ {
tt -= 255; lzo_uint tt = t - 18;
*op++ = 0; *op++ = 0;
while __lzo_unlikely(tt > 255)
{
tt -= 255;
UA_SET1(op, 0);
op++;
}
assert(tt > 0);
*op++ = LZO_BYTE(tt);
} }
assert(tt > 0); #if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64)
*op++ = LZO_BYTE(tt); do {
UA_COPY8(op, ii);
UA_COPY8(op+8, ii+8);
op += 16; ii += 16; t -= 16;
} while (t >= 16); if (t > 0)
#endif
{ do *op++ = *ii++; while (--t > 0); }
} }
do *op++ = *ii++; while (--t > 0);
} }
}
assert(ii == ip); m_len = 4;
ip += 3; {
if (m_pos[3] != *ip++ || m_pos[4] != *ip++ || m_pos[5] != *ip++ || #if (LZO_OPT_UNALIGNED64)
m_pos[6] != *ip++ || m_pos[7] != *ip++ || m_pos[8] != *ip++ lzo_uint64_t v;
#ifdef LZO1Y v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
|| m_pos[ 9] != *ip++ || m_pos[10] != *ip++ || m_pos[11] != *ip++ if __lzo_unlikely(v == 0) {
|| m_pos[12] != *ip++ || m_pos[13] != *ip++ || m_pos[14] != *ip++ do {
m_len += 8;
v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len);
if __lzo_unlikely(ip + m_len >= ip_end)
goto m_len_done;
} while (v == 0);
}
#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz64)
m_len += lzo_bitops_ctlz64(v) / CHAR_BIT;
#elif (LZO_ABI_BIG_ENDIAN)
if ((v >> (64 - CHAR_BIT)) == 0) do {
v <<= CHAR_BIT;
m_len += 1;
} while ((v >> (64 - CHAR_BIT)) == 0);
#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz64)
m_len += lzo_bitops_cttz64(v) / CHAR_BIT;
#elif (LZO_ABI_LITTLE_ENDIAN)
if ((v & UCHAR_MAX) == 0) do {
v >>= CHAR_BIT;
m_len += 1;
} while ((v & UCHAR_MAX) == 0);
#else
if (ip[m_len] == m_pos[m_len]) do {
m_len += 1;
} while (ip[m_len] == m_pos[m_len]);
#endif
#elif (LZO_OPT_UNALIGNED32)
lzo_uint32_t v;
v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
if __lzo_unlikely(v == 0) {
do {
m_len += 4;
v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
if (v != 0)
break;
m_len += 4;
v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len);
if __lzo_unlikely(ip + m_len >= ip_end)
goto m_len_done;
} while (v == 0);
}
#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz32)
m_len += lzo_bitops_ctlz32(v) / CHAR_BIT;
#elif (LZO_ABI_BIG_ENDIAN)
if ((v >> (32 - CHAR_BIT)) == 0) do {
v <<= CHAR_BIT;
m_len += 1;
} while ((v >> (32 - CHAR_BIT)) == 0);
#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz32)
m_len += lzo_bitops_cttz32(v) / CHAR_BIT;
#elif (LZO_ABI_LITTLE_ENDIAN)
if ((v & UCHAR_MAX) == 0) do {
v >>= CHAR_BIT;
m_len += 1;
} while ((v & UCHAR_MAX) == 0);
#else
if (ip[m_len] == m_pos[m_len]) do {
m_len += 1;
} while (ip[m_len] == m_pos[m_len]);
#endif
#else
if __lzo_unlikely(ip[m_len] == m_pos[m_len]) {
do {
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if (ip[m_len] != m_pos[m_len])
break;
m_len += 1;
if __lzo_unlikely(ip + m_len >= ip_end)
goto m_len_done;
} while (ip[m_len] == m_pos[m_len]);
}
#endif #endif
) }
m_len_done:
m_off = pd(ip,m_pos);
ip += m_len;
ii = ip;
if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET)
{ {
--ip; m_off -= 1;
m_len = pd(ip, ii);
assert(m_len >= 3); assert(m_len <= M2_MAX_LEN);
if (m_off <= M2_MAX_OFFSET)
{
m_off -= 1;
#if defined(LZO1X) #if defined(LZO1X)
*op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2)); *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
*op++ = LZO_BYTE(m_off >> 3); *op++ = LZO_BYTE(m_off >> 3);
#elif defined(LZO1Y) #elif defined(LZO1Y)
*op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2)); *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2));
*op++ = LZO_BYTE(m_off >> 2); *op++ = LZO_BYTE(m_off >> 2);
#endif #endif
} }
else if (m_off <= M3_MAX_OFFSET) else if (m_off <= M3_MAX_OFFSET)
{ {
m_off -= 1; m_off -= 1;
if (m_len <= M3_MAX_LEN)
*op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); *op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
goto m3_m4_offset;
}
else else
#if defined(LZO1X)
{ {
m_off -= 0x4000; m_len -= M3_MAX_LEN;
assert(m_off > 0); assert(m_off <= 0x7fff); *op++ = M3_MARKER | 0;
*op++ = LZO_BYTE(M4_MARKER | while __lzo_unlikely(m_len > 255)
((m_off & 0x4000) >> 11) | (m_len - 2)); {
goto m3_m4_offset; m_len -= 255;
UA_SET1(op, 0);
op++;
}
*op++ = LZO_BYTE(m_len);
} }
#elif defined(LZO1Y) *op++ = LZO_BYTE(m_off << 2);
goto m4_match; *op++ = LZO_BYTE(m_off >> 6);
#endif
} }
else else
{ {
{ m_off -= 0x4000;
const lzo_bytep end = in_end; if (m_len <= M4_MAX_LEN)
const lzo_bytep m = m_pos + M2_MAX_LEN + 1; *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8) | (m_len - 2));
while (ip < end && *m == *ip)
m++, ip++;
m_len = pd(ip, ii);
}
assert(m_len > M2_MAX_LEN);
if (m_off <= M3_MAX_OFFSET)
{
m_off -= 1;
if (m_len <= 33)
*op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
else
{
m_len -= 33;
*op++ = M3_MARKER | 0;
goto m3_m4_len;
}
}
else else
{ {
#if defined(LZO1Y) m_len -= M4_MAX_LEN;
m4_match: *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8));
#endif while __lzo_unlikely(m_len > 255)
m_off -= 0x4000;
assert(m_off > 0); assert(m_off <= 0x7fff);
if (m_len <= M4_MAX_LEN)
*op++ = LZO_BYTE(M4_MARKER |
((m_off & 0x4000) >> 11) | (m_len - 2));
else
{ {
m_len -= M4_MAX_LEN; m_len -= 255;
*op++ = LZO_BYTE(M4_MARKER | ((m_off & 0x4000) >> 11)); UA_SET1(op, 0);
m3_m4_len: op++;
while (m_len > 255)
{
m_len -= 255;
*op++ = 0;
}
assert(m_len > 0);
*op++ = LZO_BYTE(m_len);
} }
*op++ = LZO_BYTE(m_len);
} }
*op++ = LZO_BYTE(m_off << 2);
m3_m4_offset:
*op++ = LZO_BYTE((m_off & 63) << 2);
*op++ = LZO_BYTE(m_off >> 6); *op++ = LZO_BYTE(m_off >> 6);
} }
goto next;
#if 0
match_done:
#endif
ii = ip;
if __lzo_unlikely(ip >= ip_end)
break;
} }
*out_len = pd(op, out); *out_len = pd(op, out);
return pd(in_end,ii); return pd(in_end,ii-ti);
} }
LZO_PUBLIC(int) LZO_PUBLIC(int)
DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len, DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len, lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem ) lzo_voidp wrkmem )
{ {
const lzo_bytep ip = in;
lzo_bytep op = out; lzo_bytep op = out;
lzo_uint t; lzo_uint l = in_len;
lzo_uint t = 0;
if __lzo_unlikely(in_len <= M2_MAX_LEN + 5) while (l > 20)
t = in_len;
else
{ {
t = do_compress(in,in_len,op,out_len,wrkmem); lzo_uint ll = l;
lzo_uintptr_t ll_end;
#if 0 || (LZO_DETERMINISTIC)
ll = LZO_MIN(ll, 49152);
#endif
ll_end = (lzo_uintptr_t)ip + ll;
if ((ll_end + ((t + ll) >> 5)) <= ll_end || (const lzo_bytep)(ll_end + (
(t + ll) >> 5)) <= ip + ll)
break;
#if (LZO_DETERMINISTIC)
lzo_memset(wrkmem, 0, ((lzo_uint)1 << D_BITS) * sizeof(lzo_dict_t));
#endif
t = do_compress(ip,ll,op,out_len,t,wrkmem);
ip += ll;
op += *out_len; op += *out_len;
l -= ll;
} }
t += l;
if (t > 0) if (t > 0)
{ {
const lzo_bytep ii = in + in_len - t; const lzo_bytep ii = in + in_len - t;
if (op == out && t <= 238) if (op == out && t <= 238)
*op++ = LZO_BYTE(17 + t); *op++ = LZO_BYTE(17 + t);
else if (t <= 3) else if (t <= 3)
op[-2] |= LZO_BYTE(t); op[-2] = LZO_BYTE(op[-2] | t);
else if (t <= 18) else if (t <= 18)
*op++ = LZO_BYTE(t - 3); *op++ = LZO_BYTE(t - 3);
else else
{ {
lzo_uint tt = t - 18; lzo_uint tt = t - 18;
*op++ = 0; *op++ = 0;
while (tt > 255) while (tt > 255)
{ {
tt -= 255; tt -= 255;
*op++ = 0; UA_SET1(op, 0);
op++;
} }
assert(tt > 0); assert(tt > 0);
*op++ = LZO_BYTE(tt); *op++ = LZO_BYTE(tt);
} }
do *op++ = *ii++; while (--t > 0); UA_COPYN(op, ii, t);
op += t;
} }
*op++ = M4_MARKER | 1; *op++ = M4_MARKER | 1;
*op++ = 0; *op++ = 0;
*op++ = 0; *op++ = 0;
*out_len = pd(op, out); *out_len = pd(op, out);
return LZO_E_OK; return LZO_E_OK;
} }
skipping to change at line 3129 skipping to change at line 5297
#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS) #if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS)
#if defined(LZO_TEST_OVERRUN) #if defined(LZO_TEST_OVERRUN)
# if !defined(LZO_TEST_OVERRUN_INPUT) # if !defined(LZO_TEST_OVERRUN_INPUT)
# define LZO_TEST_OVERRUN_INPUT 2 # define LZO_TEST_OVERRUN_INPUT 2
# endif # endif
# if !defined(LZO_TEST_OVERRUN_OUTPUT) # if !defined(LZO_TEST_OVERRUN_OUTPUT)
# define LZO_TEST_OVERRUN_OUTPUT 2 # define LZO_TEST_OVERRUN_OUTPUT 2
# endif # endif
# if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) # if !defined(LZO_TEST_OVERRUN_LOOKBEHIND)
# define LZO_TEST_OVERRUN_LOOKBEHIND # define LZO_TEST_OVERRUN_LOOKBEHIND 1
# endif # endif
#endif #endif
#undef TEST_IP #undef TEST_IP
#undef TEST_OP #undef TEST_OP
#undef TEST_IP_AND_TEST_OP
#undef TEST_LB #undef TEST_LB
#undef TEST_LBO #undef TEST_LBO
#undef NEED_IP #undef NEED_IP
#undef NEED_OP #undef NEED_OP
#undef TEST_IV
#undef TEST_OV
#undef HAVE_TEST_IP #undef HAVE_TEST_IP
#undef HAVE_TEST_OP #undef HAVE_TEST_OP
#undef HAVE_NEED_IP #undef HAVE_NEED_IP
#undef HAVE_NEED_OP #undef HAVE_NEED_OP
#undef HAVE_ANY_IP #undef HAVE_ANY_IP
#undef HAVE_ANY_OP #undef HAVE_ANY_OP
#if defined(LZO_TEST_OVERRUN_INPUT) #if defined(LZO_TEST_OVERRUN_INPUT)
# if (LZO_TEST_OVERRUN_INPUT >= 1) # if (LZO_TEST_OVERRUN_INPUT >= 1)
# define TEST_IP (ip < ip_end) # define TEST_IP (ip < ip_end)
# endif # endif
# if (LZO_TEST_OVERRUN_INPUT >= 2) # if (LZO_TEST_OVERRUN_INPUT >= 2)
# define NEED_IP(x) \ # define NEED_IP(x) \
if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun
# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overr un
# endif # endif
#endif #endif
#if defined(LZO_TEST_OVERRUN_OUTPUT) #if defined(LZO_TEST_OVERRUN_OUTPUT)
# if (LZO_TEST_OVERRUN_OUTPUT >= 1) # if (LZO_TEST_OVERRUN_OUTPUT >= 1)
# define TEST_OP (op <= op_end) # define TEST_OP (op <= op_end)
# endif # endif
# if (LZO_TEST_OVERRUN_OUTPUT >= 2) # if (LZO_TEST_OVERRUN_OUTPUT >= 2)
# undef TEST_OP # undef TEST_OP
# define NEED_OP(x) \ # define NEED_OP(x) \
if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun
# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_over run
# endif # endif
#endif #endif
#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) #if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
# define TEST_LB(m_pos) if (m_pos < out || m_pos >= op) goto lookbehind_ # define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto
overrun lookbehind_overrun
# define TEST_LBO(m_pos,o) if (m_pos < out || m_pos >= op - (o)) goto lookb # define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) g
ehind_overrun oto lookbehind_overrun
#else #else
# define TEST_LB(m_pos) ((void) 0) # define TEST_LB(m_pos) ((void) 0)
# define TEST_LBO(m_pos,o) ((void) 0) # define TEST_LBO(m_pos,o) ((void) 0)
#endif #endif
#if !defined(LZO_EOF_CODE) && !defined(TEST_IP) #if !defined(LZO_EOF_CODE) && !defined(TEST_IP)
# define TEST_IP (ip < ip_end) # define TEST_IP (ip < ip_end)
#endif #endif
#if defined(TEST_IP) #if defined(TEST_IP)
# define HAVE_TEST_IP # define HAVE_TEST_IP 1
#else #else
# define TEST_IP 1 # define TEST_IP 1
#endif #endif
#if defined(TEST_OP) #if defined(TEST_OP)
# define HAVE_TEST_OP # define HAVE_TEST_OP 1
#else #else
# define TEST_OP 1 # define TEST_OP 1
#endif #endif
#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP)
# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP)
#elif defined(HAVE_TEST_IP)
# define TEST_IP_AND_TEST_OP TEST_IP
#elif defined(HAVE_TEST_OP)
# define TEST_IP_AND_TEST_OP TEST_OP
#else
# define TEST_IP_AND_TEST_OP 1
#endif
#if defined(NEED_IP) #if defined(NEED_IP)
# define HAVE_NEED_IP # define HAVE_NEED_IP 1
#else #else
# define NEED_IP(x) ((void) 0) # define NEED_IP(x) ((void) 0)
# define TEST_IV(x) ((void) 0)
#endif #endif
#if defined(NEED_OP) #if defined(NEED_OP)
# define HAVE_NEED_OP # define HAVE_NEED_OP 1
#else #else
# define NEED_OP(x) ((void) 0) # define NEED_OP(x) ((void) 0)
# define TEST_OV(x) ((void) 0)
#endif #endif
#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
# define HAVE_ANY_IP # define HAVE_ANY_IP 1
#endif #endif
#if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP)
# define HAVE_ANY_OP # define HAVE_ANY_OP 1
#endif
#undef __COPY4
#define __COPY4(dst,src) * (lzo_uint32p)(dst) = * (const lzo_uint32p)(src)
#undef COPY4
#if defined(LZO_UNALIGNED_OK_4)
# define COPY4(dst,src) __COPY4(dst,src)
#elif defined(LZO_ALIGNED_OK_4)
# define COPY4(dst,src) __COPY4((lzo_uintptr_t)(dst),(lzo_uintptr_t)(src))
#endif #endif
#if defined(DO_DECOMPRESS) #if defined(DO_DECOMPRESS)
LZO_PUBLIC(int) LZO_PUBLIC(int)
DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len, DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len, lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem ) lzo_voidp wrkmem )
#endif #endif
{ {
register lzo_bytep op; lzo_bytep op;
register const lzo_bytep ip; const lzo_bytep ip;
register lzo_uint t; lzo_uint t;
#if defined(COPY_DICT) #if defined(COPY_DICT)
lzo_uint m_off; lzo_uint m_off;
const lzo_bytep dict_end; const lzo_bytep dict_end;
#else #else
register const lzo_bytep m_pos; const lzo_bytep m_pos;
#endif #endif
const lzo_bytep const ip_end = in + in_len; const lzo_bytep const ip_end = in + in_len;
#if defined(HAVE_ANY_OP) #if defined(HAVE_ANY_OP)
lzo_bytep const op_end = out + *out_len; lzo_bytep const op_end = out + *out_len;
#endif #endif
#if defined(LZO1Z) #if defined(LZO1Z)
lzo_uint last_m_off = 0; lzo_uint last_m_off = 0;
#endif #endif
skipping to change at line 3267 skipping to change at line 5442
dict_len = 0; dict_len = 0;
dict_end = NULL; dict_end = NULL;
} }
#endif #endif
*out_len = 0; *out_len = 0;
op = out; op = out;
ip = in; ip = in;
NEED_IP(1);
if (*ip > 17) if (*ip > 17)
{ {
t = *ip++ - 17; t = *ip++ - 17;
if (t < 4) if (t < 4)
goto match_next; goto match_next;
assert(t > 0); NEED_OP(t); NEED_IP(t+1); assert(t > 0); NEED_OP(t); NEED_IP(t+3);
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
goto first_literal_run; goto first_literal_run;
} }
while (TEST_IP && TEST_OP) for (;;)
{ {
NEED_IP(3);
t = *ip++; t = *ip++;
if (t >= 16) if (t >= 16)
goto match; goto match;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_IV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 15 + *ip++; t += 15 + *ip++;
} }
assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); assert(t > 0); NEED_OP(t+3); NEED_IP(t+6);
#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
#if !defined(LZO_UNALIGNED_OK_4) t += 3;
if (t >= 8) do
{
UA_COPY8(op,ip);
op += 8; ip += 8; t -= 8;
} while (t >= 8);
if (t >= 4)
{
UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4;
}
if (t > 0)
{
*op++ = *ip++;
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
}
#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
#if !(LZO_OPT_UNALIGNED32)
if (PTR_ALIGNED2_4(op,ip)) if (PTR_ALIGNED2_4(op,ip))
{ {
#endif #endif
COPY4(op,ip); UA_COPY4(op,ip);
op += 4; ip += 4; op += 4; ip += 4;
if (--t > 0) if (--t > 0)
{ {
if (t >= 4) if (t >= 4)
{ {
do { do {
COPY4(op,ip); UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4; op += 4; ip += 4; t -= 4;
} while (t >= 4); } while (t >= 4);
if (t > 0) do *op++ = *ip++; while (--t > 0); if (t > 0) do *op++ = *ip++; while (--t > 0);
} }
else else
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
} }
#if !defined(LZO_UNALIGNED_OK_4) #if !(LZO_OPT_UNALIGNED32)
} }
else else
#endif #endif
#endif #endif
#if !defined(LZO_UNALIGNED_OK_4) #if !(LZO_OPT_UNALIGNED32)
{ {
*op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
} }
#endif #endif
first_literal_run: first_literal_run:
t = *ip++; t = *ip++;
if (t >= 16) if (t >= 16)
skipping to change at line 3355 skipping to change at line 5549
#else #else
m_pos = op - (1 + M2_MAX_OFFSET); m_pos = op - (1 + M2_MAX_OFFSET);
m_pos -= t >> 2; m_pos -= t >> 2;
m_pos -= *ip++ << 2; m_pos -= *ip++ << 2;
#endif #endif
TEST_LB(m_pos); NEED_OP(3); TEST_LB(m_pos); NEED_OP(3);
*op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
#endif #endif
goto match_done; goto match_done;
do { for (;;) {
match: match:
if (t >= 64) if (t >= 64)
{ {
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1X) #if defined(LZO1X)
m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
t = (t >> 5) - 1; t = (t >> 5) - 1;
#elif defined(LZO1Y) #elif defined(LZO1Y)
m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
t = (t >> 4) - 3; t = (t >> 4) - 3;
skipping to change at line 3415 skipping to change at line 5609
#endif #endif
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
goto copy_match; goto copy_match;
#endif #endif
} }
else if (t >= 32) else if (t >= 32)
{ {
t &= 31; t &= 31;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_OV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 31 + *ip++; t += 31 + *ip++;
NEED_IP(2);
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1Z) #if defined(LZO1Z)
m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
last_m_off = m_off; last_m_off = m_off;
#else #else
m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
#else #else
#if defined(LZO1Z) #if defined(LZO1Z)
{ {
lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
m_pos = op - off; m_pos = op - off;
last_m_off = off; last_m_off = off;
} }
#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos = op - 1; m_pos = op - 1;
m_pos -= (* (const lzo_ushortp) ip) >> 2; m_pos -= UA_GET_LE16(ip) >> 2;
#else #else
m_pos = op - 1; m_pos = op - 1;
m_pos -= (ip[0] >> 2) + (ip[1] << 6); m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
#endif #endif
ip += 2; ip += 2;
} }
else if (t >= 16) else if (t >= 16)
{ {
#if defined(COPY_DICT) #if defined(COPY_DICT)
m_off = (t & 8) << 11; m_off = (t & 8) << 11;
#else #else
m_pos = op; m_pos = op;
m_pos -= (t & 8) << 11; m_pos -= (t & 8) << 11;
#endif #endif
t &= 7; t &= 7;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_OV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 7 + *ip++; t += 7 + *ip++;
NEED_IP(2);
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1Z) #if defined(LZO1Z)
m_off += (ip[0] << 6) + (ip[1] >> 2); m_off += (ip[0] << 6) + (ip[1] >> 2);
#else #else
m_off += (ip[0] >> 2) + (ip[1] << 6); m_off += (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
ip += 2; ip += 2;
if (m_off == 0) if (m_off == 0)
goto eof_found; goto eof_found;
m_off += 0x4000; m_off += 0x4000;
#if defined(LZO1Z) #if defined(LZO1Z)
last_m_off = m_off; last_m_off = m_off;
#endif #endif
#else #else
#if defined(LZO1Z) #if defined(LZO1Z)
m_pos -= (ip[0] << 6) + (ip[1] >> 2); m_pos -= (ip[0] << 6) + (ip[1] >> 2);
#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos -= (* (const lzo_ushortp) ip) >> 2; m_pos -= UA_GET_LE16(ip) >> 2;
#else #else
m_pos -= (ip[0] >> 2) + (ip[1] << 6); m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
ip += 2; ip += 2;
if (m_pos == op) if (m_pos == op)
goto eof_found; goto eof_found;
m_pos -= 0x4000; m_pos -= 0x4000;
#if defined(LZO1Z) #if defined(LZO1Z)
last_m_off = pd((const lzo_bytep)op, m_pos); last_m_off = pd((const lzo_bytep)op, m_pos);
#endif #endif
skipping to change at line 3533 skipping to change at line 5729
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
NEED_OP(t+3-1); NEED_OP(t+3-1);
t += 3-1; COPY_DICT(t,m_off) t += 3-1; COPY_DICT(t,m_off)
#else #else
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
#if !defined(LZO_UNALIGNED_OK_4) if (op - m_pos >= 8)
{
t += (3 - 1);
if (t >= 8) do
{
UA_COPY8(op,m_pos);
op += 8; m_pos += 8; t -= 8;
} while (t >= 8);
if (t >= 4)
{
UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4;
}
if (t > 0)
{
*op++ = m_pos[0];
if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]
; } }
}
}
else
#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
#if !(LZO_OPT_UNALIGNED32)
if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
{ {
assert((op - m_pos) >= 4); assert((op - m_pos) >= 4);
#else #else
if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
{ {
#endif #endif
COPY4(op,m_pos); UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4 - (3 - 1); op += 4; m_pos += 4; t -= 4 - (3 - 1);
do { do {
COPY4(op,m_pos); UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4; op += 4; m_pos += 4; t -= 4;
} while (t >= 4); } while (t >= 4);
if (t > 0) do *op++ = *m_pos++; while (--t > 0); if (t > 0) do *op++ = *m_pos++; while (--t > 0);
} }
else else
#endif #endif
{ {
copy_match: copy_match:
*op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos++;
do *op++ = *m_pos++; while (--t > 0); do *op++ = *m_pos++; while (--t > 0);
skipping to change at line 3570 skipping to change at line 5787
match_done: match_done:
#if defined(LZO1Z) #if defined(LZO1Z)
t = ip[-1] & 3; t = ip[-1] & 3;
#else #else
t = ip[-2] & 3; t = ip[-2] & 3;
#endif #endif
if (t == 0) if (t == 0)
break; break;
match_next: match_next:
assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1); assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3);
#if 0 #if 0
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
#else #else
*op++ = *ip++; *op++ = *ip++;
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
#endif #endif
t = *ip++; t = *ip++;
} while (TEST_IP && TEST_OP); }
} }
#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
*out_len = pd(op, out);
return LZO_E_EOF_NOT_FOUND;
#endif
eof_found: eof_found:
assert(t == 1);
*out_len = pd(op, out); *out_len = pd(op, out);
return (ip == ip_end ? LZO_E_OK : return (ip == ip_end ? LZO_E_OK :
(ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
#if defined(HAVE_NEED_IP) #if defined(HAVE_NEED_IP)
input_overrun: input_overrun:
*out_len = pd(op, out); *out_len = pd(op, out);
return LZO_E_INPUT_OVERRUN; return LZO_E_INPUT_OVERRUN;
#endif #endif
skipping to change at line 3613 skipping to change at line 5824
#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) #if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
lookbehind_overrun: lookbehind_overrun:
*out_len = pd(op, out); *out_len = pd(op, out);
return LZO_E_LOOKBEHIND_OVERRUN; return LZO_E_LOOKBEHIND_OVERRUN;
#endif #endif
} }
#endif #endif
#define LZO_TEST_OVERRUN #define LZO_TEST_OVERRUN 1
#undef DO_DECOMPRESS #undef DO_DECOMPRESS
#define DO_DECOMPRESS lzo1x_decompress_safe #define DO_DECOMPRESS lzo1x_decompress_safe
#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS_SAFE) #if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS_SAFE)
#if defined(LZO_TEST_OVERRUN) #if defined(LZO_TEST_OVERRUN)
# if !defined(LZO_TEST_OVERRUN_INPUT) # if !defined(LZO_TEST_OVERRUN_INPUT)
# define LZO_TEST_OVERRUN_INPUT 2 # define LZO_TEST_OVERRUN_INPUT 2
# endif # endif
# if !defined(LZO_TEST_OVERRUN_OUTPUT) # if !defined(LZO_TEST_OVERRUN_OUTPUT)
# define LZO_TEST_OVERRUN_OUTPUT 2 # define LZO_TEST_OVERRUN_OUTPUT 2
# endif # endif
# if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) # if !defined(LZO_TEST_OVERRUN_LOOKBEHIND)
# define LZO_TEST_OVERRUN_LOOKBEHIND # define LZO_TEST_OVERRUN_LOOKBEHIND 1
# endif # endif
#endif #endif
#undef TEST_IP #undef TEST_IP
#undef TEST_OP #undef TEST_OP
#undef TEST_IP_AND_TEST_OP
#undef TEST_LB #undef TEST_LB
#undef TEST_LBO #undef TEST_LBO
#undef NEED_IP #undef NEED_IP
#undef NEED_OP #undef NEED_OP
#undef TEST_IV
#undef TEST_OV
#undef HAVE_TEST_IP #undef HAVE_TEST_IP
#undef HAVE_TEST_OP #undef HAVE_TEST_OP
#undef HAVE_NEED_IP #undef HAVE_NEED_IP
#undef HAVE_NEED_OP #undef HAVE_NEED_OP
#undef HAVE_ANY_IP #undef HAVE_ANY_IP
#undef HAVE_ANY_OP #undef HAVE_ANY_OP
#if defined(LZO_TEST_OVERRUN_INPUT) #if defined(LZO_TEST_OVERRUN_INPUT)
# if (LZO_TEST_OVERRUN_INPUT >= 1) # if (LZO_TEST_OVERRUN_INPUT >= 1)
# define TEST_IP (ip < ip_end) # define TEST_IP (ip < ip_end)
# endif # endif
# if (LZO_TEST_OVERRUN_INPUT >= 2) # if (LZO_TEST_OVERRUN_INPUT >= 2)
# define NEED_IP(x) \ # define NEED_IP(x) \
if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun
# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overr un
# endif # endif
#endif #endif
#if defined(LZO_TEST_OVERRUN_OUTPUT) #if defined(LZO_TEST_OVERRUN_OUTPUT)
# if (LZO_TEST_OVERRUN_OUTPUT >= 1) # if (LZO_TEST_OVERRUN_OUTPUT >= 1)
# define TEST_OP (op <= op_end) # define TEST_OP (op <= op_end)
# endif # endif
# if (LZO_TEST_OVERRUN_OUTPUT >= 2) # if (LZO_TEST_OVERRUN_OUTPUT >= 2)
# undef TEST_OP # undef TEST_OP
# define NEED_OP(x) \ # define NEED_OP(x) \
if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun
# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_over run
# endif # endif
#endif #endif
#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) #if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
# define TEST_LB(m_pos) if (m_pos < out || m_pos >= op) goto lookbehind_ # define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto
overrun lookbehind_overrun
# define TEST_LBO(m_pos,o) if (m_pos < out || m_pos >= op - (o)) goto lookb # define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) g
ehind_overrun oto lookbehind_overrun
#else #else
# define TEST_LB(m_pos) ((void) 0) # define TEST_LB(m_pos) ((void) 0)
# define TEST_LBO(m_pos,o) ((void) 0) # define TEST_LBO(m_pos,o) ((void) 0)
#endif #endif
#if !defined(LZO_EOF_CODE) && !defined(TEST_IP) #if !defined(LZO_EOF_CODE) && !defined(TEST_IP)
# define TEST_IP (ip < ip_end) # define TEST_IP (ip < ip_end)
#endif #endif
#if defined(TEST_IP) #if defined(TEST_IP)
# define HAVE_TEST_IP # define HAVE_TEST_IP 1
#else #else
# define TEST_IP 1 # define TEST_IP 1
#endif #endif
#if defined(TEST_OP) #if defined(TEST_OP)
# define HAVE_TEST_OP # define HAVE_TEST_OP 1
#else #else
# define TEST_OP 1 # define TEST_OP 1
#endif #endif
#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP)
# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP)
#elif defined(HAVE_TEST_IP)
# define TEST_IP_AND_TEST_OP TEST_IP
#elif defined(HAVE_TEST_OP)
# define TEST_IP_AND_TEST_OP TEST_OP
#else
# define TEST_IP_AND_TEST_OP 1
#endif
#if defined(NEED_IP) #if defined(NEED_IP)
# define HAVE_NEED_IP # define HAVE_NEED_IP 1
#else #else
# define NEED_IP(x) ((void) 0) # define NEED_IP(x) ((void) 0)
# define TEST_IV(x) ((void) 0)
#endif #endif
#if defined(NEED_OP) #if defined(NEED_OP)
# define HAVE_NEED_OP # define HAVE_NEED_OP 1
#else #else
# define NEED_OP(x) ((void) 0) # define NEED_OP(x) ((void) 0)
# define TEST_OV(x) ((void) 0)
#endif #endif
#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
# define HAVE_ANY_IP # define HAVE_ANY_IP 1
#endif #endif
#if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP)
# define HAVE_ANY_OP # define HAVE_ANY_OP 1
#endif
#undef __COPY4
#define __COPY4(dst,src) * (lzo_uint32p)(dst) = * (const lzo_uint32p)(src)
#undef COPY4
#if defined(LZO_UNALIGNED_OK_4)
# define COPY4(dst,src) __COPY4(dst,src)
#elif defined(LZO_ALIGNED_OK_4)
# define COPY4(dst,src) __COPY4((lzo_uintptr_t)(dst),(lzo_uintptr_t)(src))
#endif #endif
#if defined(DO_DECOMPRESS) #if defined(DO_DECOMPRESS)
LZO_PUBLIC(int) LZO_PUBLIC(int)
DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len, DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len, lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem ) lzo_voidp wrkmem )
#endif #endif
{ {
register lzo_bytep op; lzo_bytep op;
register const lzo_bytep ip; const lzo_bytep ip;
register lzo_uint t; lzo_uint t;
#if defined(COPY_DICT) #if defined(COPY_DICT)
lzo_uint m_off; lzo_uint m_off;
const lzo_bytep dict_end; const lzo_bytep dict_end;
#else #else
register const lzo_bytep m_pos; const lzo_bytep m_pos;
#endif #endif
const lzo_bytep const ip_end = in + in_len; const lzo_bytep const ip_end = in + in_len;
#if defined(HAVE_ANY_OP) #if defined(HAVE_ANY_OP)
lzo_bytep const op_end = out + *out_len; lzo_bytep const op_end = out + *out_len;
#endif #endif
#if defined(LZO1Z) #if defined(LZO1Z)
lzo_uint last_m_off = 0; lzo_uint last_m_off = 0;
#endif #endif
skipping to change at line 3765 skipping to change at line 5983
dict_len = 0; dict_len = 0;
dict_end = NULL; dict_end = NULL;
} }
#endif #endif
*out_len = 0; *out_len = 0;
op = out; op = out;
ip = in; ip = in;
NEED_IP(1);
if (*ip > 17) if (*ip > 17)
{ {
t = *ip++ - 17; t = *ip++ - 17;
if (t < 4) if (t < 4)
goto match_next; goto match_next;
assert(t > 0); NEED_OP(t); NEED_IP(t+1); assert(t > 0); NEED_OP(t); NEED_IP(t+3);
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
goto first_literal_run; goto first_literal_run;
} }
while (TEST_IP && TEST_OP) for (;;)
{ {
NEED_IP(3);
t = *ip++; t = *ip++;
if (t >= 16) if (t >= 16)
goto match; goto match;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_IV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 15 + *ip++; t += 15 + *ip++;
} }
assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); assert(t > 0); NEED_OP(t+3); NEED_IP(t+6);
#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
#if !defined(LZO_UNALIGNED_OK_4) t += 3;
if (t >= 8) do
{
UA_COPY8(op,ip);
op += 8; ip += 8; t -= 8;
} while (t >= 8);
if (t >= 4)
{
UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4;
}
if (t > 0)
{
*op++ = *ip++;
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
}
#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
#if !(LZO_OPT_UNALIGNED32)
if (PTR_ALIGNED2_4(op,ip)) if (PTR_ALIGNED2_4(op,ip))
{ {
#endif #endif
COPY4(op,ip); UA_COPY4(op,ip);
op += 4; ip += 4; op += 4; ip += 4;
if (--t > 0) if (--t > 0)
{ {
if (t >= 4) if (t >= 4)
{ {
do { do {
COPY4(op,ip); UA_COPY4(op,ip);
op += 4; ip += 4; t -= 4; op += 4; ip += 4; t -= 4;
} while (t >= 4); } while (t >= 4);
if (t > 0) do *op++ = *ip++; while (--t > 0); if (t > 0) do *op++ = *ip++; while (--t > 0);
} }
else else
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
} }
#if !defined(LZO_UNALIGNED_OK_4) #if !(LZO_OPT_UNALIGNED32)
} }
else else
#endif #endif
#endif #endif
#if !defined(LZO_UNALIGNED_OK_4) #if !(LZO_OPT_UNALIGNED32)
{ {
*op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
} }
#endif #endif
first_literal_run: first_literal_run:
t = *ip++; t = *ip++;
if (t >= 16) if (t >= 16)
skipping to change at line 3853 skipping to change at line 6090
#else #else
m_pos = op - (1 + M2_MAX_OFFSET); m_pos = op - (1 + M2_MAX_OFFSET);
m_pos -= t >> 2; m_pos -= t >> 2;
m_pos -= *ip++ << 2; m_pos -= *ip++ << 2;
#endif #endif
TEST_LB(m_pos); NEED_OP(3); TEST_LB(m_pos); NEED_OP(3);
*op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
#endif #endif
goto match_done; goto match_done;
do { for (;;) {
match: match:
if (t >= 64) if (t >= 64)
{ {
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1X) #if defined(LZO1X)
m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
t = (t >> 5) - 1; t = (t >> 5) - 1;
#elif defined(LZO1Y) #elif defined(LZO1Y)
m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
t = (t >> 4) - 3; t = (t >> 4) - 3;
skipping to change at line 3913 skipping to change at line 6150
#endif #endif
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
goto copy_match; goto copy_match;
#endif #endif
} }
else if (t >= 32) else if (t >= 32)
{ {
t &= 31; t &= 31;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_OV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 31 + *ip++; t += 31 + *ip++;
NEED_IP(2);
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1Z) #if defined(LZO1Z)
m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
last_m_off = m_off; last_m_off = m_off;
#else #else
m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
#else #else
#if defined(LZO1Z) #if defined(LZO1Z)
{ {
lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
m_pos = op - off; m_pos = op - off;
last_m_off = off; last_m_off = off;
} }
#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos = op - 1; m_pos = op - 1;
m_pos -= (* (const lzo_ushortp) ip) >> 2; m_pos -= UA_GET_LE16(ip) >> 2;
#else #else
m_pos = op - 1; m_pos = op - 1;
m_pos -= (ip[0] >> 2) + (ip[1] << 6); m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
#endif #endif
ip += 2; ip += 2;
} }
else if (t >= 16) else if (t >= 16)
{ {
#if defined(COPY_DICT) #if defined(COPY_DICT)
m_off = (t & 8) << 11; m_off = (t & 8) << 11;
#else #else
m_pos = op; m_pos = op;
m_pos -= (t & 8) << 11; m_pos -= (t & 8) << 11;
#endif #endif
t &= 7; t &= 7;
if (t == 0) if (t == 0)
{ {
NEED_IP(1);
while (*ip == 0) while (*ip == 0)
{ {
t += 255; t += 255;
ip++; ip++;
TEST_OV(t);
NEED_IP(1); NEED_IP(1);
} }
t += 7 + *ip++; t += 7 + *ip++;
NEED_IP(2);
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
#if defined(LZO1Z) #if defined(LZO1Z)
m_off += (ip[0] << 6) + (ip[1] >> 2); m_off += (ip[0] << 6) + (ip[1] >> 2);
#else #else
m_off += (ip[0] >> 2) + (ip[1] << 6); m_off += (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
ip += 2; ip += 2;
if (m_off == 0) if (m_off == 0)
goto eof_found; goto eof_found;
m_off += 0x4000; m_off += 0x4000;
#if defined(LZO1Z) #if defined(LZO1Z)
last_m_off = m_off; last_m_off = m_off;
#endif #endif
#else #else
#if defined(LZO1Z) #if defined(LZO1Z)
m_pos -= (ip[0] << 6) + (ip[1] >> 2); m_pos -= (ip[0] << 6) + (ip[1] >> 2);
#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN) #elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN)
m_pos -= (* (const lzo_ushortp) ip) >> 2; m_pos -= UA_GET_LE16(ip) >> 2;
#else #else
m_pos -= (ip[0] >> 2) + (ip[1] << 6); m_pos -= (ip[0] >> 2) + (ip[1] << 6);
#endif #endif
ip += 2; ip += 2;
if (m_pos == op) if (m_pos == op)
goto eof_found; goto eof_found;
m_pos -= 0x4000; m_pos -= 0x4000;
#if defined(LZO1Z) #if defined(LZO1Z)
last_m_off = pd((const lzo_bytep)op, m_pos); last_m_off = pd((const lzo_bytep)op, m_pos);
#endif #endif
skipping to change at line 4031 skipping to change at line 6270
} }
#if defined(COPY_DICT) #if defined(COPY_DICT)
NEED_OP(t+3-1); NEED_OP(t+3-1);
t += 3-1; COPY_DICT(t,m_off) t += 3-1; COPY_DICT(t,m_off)
#else #else
TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) #if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32)
#if !defined(LZO_UNALIGNED_OK_4) if (op - m_pos >= 8)
{
t += (3 - 1);
if (t >= 8) do
{
UA_COPY8(op,m_pos);
op += 8; m_pos += 8; t -= 8;
} while (t >= 8);
if (t >= 4)
{
UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4;
}
if (t > 0)
{
*op++ = m_pos[0];
if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]
; } }
}
}
else
#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4)
#if !(LZO_OPT_UNALIGNED32)
if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
{ {
assert((op - m_pos) >= 4); assert((op - m_pos) >= 4);
#else #else
if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
{ {
#endif #endif
COPY4(op,m_pos); UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4 - (3 - 1); op += 4; m_pos += 4; t -= 4 - (3 - 1);
do { do {
COPY4(op,m_pos); UA_COPY4(op,m_pos);
op += 4; m_pos += 4; t -= 4; op += 4; m_pos += 4; t -= 4;
} while (t >= 4); } while (t >= 4);
if (t > 0) do *op++ = *m_pos++; while (--t > 0); if (t > 0) do *op++ = *m_pos++; while (--t > 0);
} }
else else
#endif #endif
{ {
copy_match: copy_match:
*op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos++;
do *op++ = *m_pos++; while (--t > 0); do *op++ = *m_pos++; while (--t > 0);
skipping to change at line 4068 skipping to change at line 6328
match_done: match_done:
#if defined(LZO1Z) #if defined(LZO1Z)
t = ip[-1] & 3; t = ip[-1] & 3;
#else #else
t = ip[-2] & 3; t = ip[-2] & 3;
#endif #endif
if (t == 0) if (t == 0)
break; break;
match_next: match_next:
assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1); assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3);
#if 0 #if 0
do *op++ = *ip++; while (--t > 0); do *op++ = *ip++; while (--t > 0);
#else #else
*op++ = *ip++; *op++ = *ip++;
if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
#endif #endif
t = *ip++; t = *ip++;
} while (TEST_IP && TEST_OP); }
} }
#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
*out_len = pd(op, out);
return LZO_E_EOF_NOT_FOUND;
#endif
eof_found: eof_found:
assert(t == 1);
*out_len = pd(op, out); *out_len = pd(op, out);
return (ip == ip_end ? LZO_E_OK : return (ip == ip_end ? LZO_E_OK :
(ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
#if defined(HAVE_NEED_IP) #if defined(HAVE_NEED_IP)
input_overrun: input_overrun:
*out_len = pd(op, out); *out_len = pd(op, out);
return LZO_E_INPUT_OVERRUN; return LZO_E_INPUT_OVERRUN;
#endif #endif
 End of changes. 438 change blocks. 
1134 lines changed or deleted 3545 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)