mirror of
https://github.com/upx/upx
synced 2025-10-05 19:20:23 +08:00
Added more global operators.
committer: mfx <mfx> 1110731448 +0000
This commit is contained in:
parent
74d5844d8c
commit
bae12aaab7
18
src/bele.h
18
src/bele.h
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
This file is part of the UPX executable compressor.
|
This file is part of the UPX executable compressor.
|
||||||
|
|
||||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||||
Copyright (C) 1996-2004 Laszlo Molnar
|
Copyright (C) 1996-2005 Laszlo Molnar
|
||||||
All Rights Reserved.
|
All Rights Reserved.
|
||||||
|
|
||||||
UPX and the UCL library are free software; you can redistribute them
|
UPX and the UCL library are free software; you can redistribute them
|
||||||
|
@ -308,21 +308,29 @@ inline bool operator < (const LE32& v1, const LE32& v2)
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T* operator + (T* ptr, const BE16& v) { return ptr + (unsigned) v; }
|
inline T* operator + (T* ptr, const BE16& v) { return ptr + (unsigned) v; }
|
||||||
template <class T>
|
template <class T>
|
||||||
|
inline T* operator + (const BE16& v, T* ptr) { return ptr + (unsigned) v; }
|
||||||
|
template <class T>
|
||||||
inline T* operator - (T* ptr, const BE16& v) { return ptr - (unsigned) v; }
|
inline T* operator - (T* ptr, const BE16& v) { return ptr - (unsigned) v; }
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T* operator + (T* ptr, const BE32& v) { return ptr + (unsigned) v; }
|
inline T* operator + (T* ptr, const BE32& v) { return ptr + (unsigned) v; }
|
||||||
template <class T>
|
template <class T>
|
||||||
|
inline T* operator + (const BE32& v, T* ptr) { return ptr + (unsigned) v; }
|
||||||
|
template <class T>
|
||||||
inline T* operator - (T* ptr, const BE32& v) { return ptr - (unsigned) v; }
|
inline T* operator - (T* ptr, const BE32& v) { return ptr - (unsigned) v; }
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T* operator + (T* ptr, const LE16& v) { return ptr + (unsigned) v; }
|
inline T* operator + (T* ptr, const LE16& v) { return ptr + (unsigned) v; }
|
||||||
template <class T>
|
template <class T>
|
||||||
|
inline T* operator + (const LE16& v, T* ptr) { return ptr + (unsigned) v; }
|
||||||
|
template <class T>
|
||||||
inline T* operator - (T* ptr, const LE16& v) { return ptr - (unsigned) v; }
|
inline T* operator - (T* ptr, const LE16& v) { return ptr - (unsigned) v; }
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T* operator + (T* ptr, const LE32& v) { return ptr + (unsigned) v; }
|
inline T* operator + (T* ptr, const LE32& v) { return ptr + (unsigned) v; }
|
||||||
template <class T>
|
template <class T>
|
||||||
|
inline T* operator + (const LE32& v, T* ptr) { return ptr + (unsigned) v; }
|
||||||
|
template <class T>
|
||||||
inline T* operator - (T* ptr, const LE32& v) { return ptr - (unsigned) v; }
|
inline T* operator - (T* ptr, const LE32& v) { return ptr - (unsigned) v; }
|
||||||
|
|
||||||
|
|
||||||
|
@ -347,19 +355,19 @@ int __acc_cdecl_qsort le32_compare_signed(const void *e1, const void *e2);
|
||||||
|
|
||||||
// just for testing...
|
// just for testing...
|
||||||
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x030200)
|
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x030200)
|
||||||
typedef unsigned short LE16_unaligned __attribute__((__aligned__(1)));
|
typedef acc_uint16e_t LE16_unaligned __attribute__((__aligned__(1)));
|
||||||
typedef acc_uint32e_t LE32_unaligned __attribute__((__aligned__(1)));
|
typedef acc_uint32e_t LE32_unaligned __attribute__((__aligned__(1)));
|
||||||
# define LE16 LE16_unaligned
|
# define LE16 LE16_unaligned
|
||||||
# define LE32 LE32_unaligned
|
# define LE32 LE32_unaligned
|
||||||
#endif
|
#endif
|
||||||
#if 0 && (ACC_ARCH_I386) && (ACC_CC_INTELC)
|
#if 0 && (ACC_ARCH_I386) && (ACC_CC_INTELC)
|
||||||
typedef __declspec(align(1)) unsigned short LE16_unaligned;
|
typedef __declspec(align(1)) acc_uint16e_t LE16_unaligned;
|
||||||
typedef __declspec(align(1)) acc_uint32e_t LE32_unaligned;
|
typedef __declspec(align(1)) acc_uint32e_t LE32_unaligned;
|
||||||
# define LE16 LE16_unaligned
|
# define LE16 LE16_unaligned
|
||||||
# define LE32 LE32_unaligned
|
# define LE32 LE32_unaligned
|
||||||
#endif
|
#endif
|
||||||
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_MSC) && (_MSC_VER >= 1200)
|
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_MSC) && (_MSC_VER >= 1200)
|
||||||
typedef __declspec(align(1)) unsigned short LE16_unaligned;
|
typedef __declspec(align(1)) acc_uint16e_t LE16_unaligned;
|
||||||
typedef __declspec(align(1)) acc_uint32e_t LE32_unaligned;
|
typedef __declspec(align(1)) acc_uint32e_t LE32_unaligned;
|
||||||
# define LE16 LE16_unaligned
|
# define LE16 LE16_unaligned
|
||||||
# define LE32 LE32_unaligned
|
# define LE32 LE32_unaligned
|
||||||
|
|
Loading…
Reference in New Issue
Block a user