summaryrefslogtreecommitdiffstats
path: root/lz4hc.c
diff options
context:
space:
mode:
authoryann.collet.73@gmail.com <yann.collet.73@gmail.com@650e7d94-2a16-8b24-b05c-7c0b3f6821cd>2013-07-01 07:50:40 (GMT)
committeryann.collet.73@gmail.com <yann.collet.73@gmail.com@650e7d94-2a16-8b24-b05c-7c0b3f6821cd>2013-07-01 07:50:40 (GMT)
commit002a93473db38e83fd309aead9567da4aba6834f (patch)
treeea7895cec078274e8dfb8da18488cc9b80c35244 /lz4hc.c
parent16c09428225f466a2ee13e060d290e90663e776a (diff)
downloadlz4-002a93473db38e83fd309aead9567da4aba6834f.zip
lz4-002a93473db38e83fd309aead9567da4aba6834f.tar.gz
lz4-002a93473db38e83fd309aead9567da4aba6834f.tar.bz2
Corrected issue 70, 'pack' instruction on IBM AIX
Added : fullbench : can select compression tests or decompression tests Removed extern inline, for compatibility with GNU89, as reported by Maciej Adamczyk lz4.c : made forceinline more explicit Decompression : corrected corner case behaviors (inputSize == 0 and outputSize == 0), thanks Adrien for detailed suggestions Makefile : Removed -march=native parameter, due to incompatibility with some GCC versions git-svn-id: https://lz4.googlecode.com/svn/trunk@98 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
Diffstat (limited to 'lz4hc.c')
-rw-r--r--lz4hc.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/lz4hc.c b/lz4hc.c
index 862f48d..729bfd3 100644
--- a/lz4hc.c
+++ b/lz4hc.c
@@ -102,10 +102,10 @@ Note : this source file requires "lz4hc_encoder.h"
#ifdef _MSC_VER
# define forceinline __forceinline
# include <intrin.h> // For Visual 2005
-# if LZ4_ARCH64 // 64-bit
+# if LZ4_ARCH64 // 64-bits
# pragma intrinsic(_BitScanForward64) // For Visual 2005
# pragma intrinsic(_BitScanReverse64) // For Visual 2005
-# else
+# else // 32-bits
# pragma intrinsic(_BitScanForward) // For Visual 2005
# pragma intrinsic(_BitScanReverse) // For Visual 2005
# endif
@@ -158,7 +158,11 @@ Note : this source file requires "lz4hc_encoder.h"
#endif
#if !defined(LZ4_FORCE_UNALIGNED_ACCESS) && !defined(__GNUC__)
-# pragma pack(push, 1)
+# ifdef __IBMC__
+# pragma pack(1)
+# else
+# pragma pack(push, 1)
+# endif
#endif
typedef struct _U16_S { U16 v; } _PACKED U16_S;
@@ -345,7 +349,7 @@ static inline int LZ4_InitHC (LZ4HC_Data_Structure* hc4, const BYTE* base)
}
-extern inline void* LZ4_createHC (const char* slidingInputBuffer)
+void* LZ4_createHC (const char* slidingInputBuffer)
{
void* hc4 = ALLOCATOR(sizeof(LZ4HC_Data_Structure));
LZ4_InitHC ((LZ4HC_Data_Structure*)hc4, (const BYTE*)slidingInputBuffer);
@@ -353,7 +357,7 @@ extern inline void* LZ4_createHC (const char* slidingInputBuffer)
}
-extern inline int LZ4_freeHC (void* LZ4HC_Data)
+int LZ4_freeHC (void* LZ4HC_Data)
{
FREEMEM(LZ4HC_Data);
return (0);