зеркало из https://github.com/mozilla/pjs.git
Bugzilla bug #21428: fixed LL_CMP and LL_UCMP so that they can be used
with the <= and >= operators when HAVE_LONG_LONG is not defined. The fix is contributed by John G. Myers <jgmyers@netscape.com>. r=wtc@netscape.com.
This commit is contained in:
Родитель
73d4a81e1d
Коммит
5f96f275c1
|
@ -188,10 +188,10 @@ NSPR_API(PRInt64) LL_Zero(void);
|
|||
#define LL_NE(a, b) (((a).hi != (b).hi) || ((a).lo != (b).lo))
|
||||
#define LL_GE_ZERO(a) (((a).hi >> 31) == 0)
|
||||
|
||||
#define LL_CMP(a, op, b) (((PRInt32)(a).hi op (PRInt32)(b).hi) || \
|
||||
(((a).hi == (b).hi) && ((a).lo op (b).lo)))
|
||||
#define LL_UCMP(a, op, b) (((a).hi op (b).hi) || \
|
||||
(((a).hi == (b).hi) && ((a).lo op (b).lo)))
|
||||
#define LL_CMP(a, op, b) (((a).hi == (b).hi) ? ((a).lo op (b).lo) : \
|
||||
((PRInt32)(a).hi op (PRInt32)(b).hi))
|
||||
#define LL_UCMP(a, op, b) (((a).hi == (b).hi) ? ((a).lo op (b).lo) : \
|
||||
((a).hi op (b).hi))
|
||||
|
||||
#define LL_AND(r, a, b) ((r).lo = (a).lo & (b).lo, \
|
||||
(r).hi = (a).hi & (b).hi)
|
||||
|
|
Загрузка…
Ссылка в новой задаче