Module Name: xsrc
Committed By: joerg
Date: Sun Feb 28 22:16:10 UTC 2016
Modified Files:
xsrc/external/mit/xedit/dist/lisp: internal.h
Log Message:
Avoid left shifts of negative values. Right shift is implementation
defined and consist on all architectures we care about, so no change for
the reverse direction.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 xsrc/external/mit/xedit/dist/lisp/internal.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xedit/dist/lisp/internal.h
diff -u xsrc/external/mit/xedit/dist/lisp/internal.h:1.1.1.3 xsrc/external/mit/xedit/dist/lisp/internal.h:1.2
--- xsrc/external/mit/xedit/dist/lisp/internal.h:1.1.1.3 Sun Jul 19 19:37:31 2015
+++ xsrc/external/mit/xedit/dist/lisp/internal.h Sun Feb 28 22:16:10 2016
@@ -134,7 +134,7 @@ typedef struct _LispMac LispMac;
(((unsigned long)(object) & NIL_BIT) == 0)
#define MOST_POSITIVE_FIXNUM ((1L << (sizeof(long) * 8 - 5)) - 1)
-#define MOST_NEGATIVE_FIXNUM (-1L << (sizeof(long) * 8 - 5))
+#define MOST_NEGATIVE_FIXNUM (-(1L << (sizeof(long) * 8 - 5)))
#define SCHAR(value) \
((LispObj*)(((long)(value) << BIT_COUNT) | SCHAR_MASK))
@@ -179,7 +179,7 @@ typedef struct _LispMac LispMac;
/* fixnum */
#define FIXNUM(value) \
- ((LispObj*)(((long)(value) << BIT_COUNT) | FIXNUM_MASK))
+ ((LispObj*)(((long)(value) * (1 << BIT_COUNT)) | FIXNUM_MASK))
#define FIXNUM_VALUE(object) ((long)(object) >> BIT_COUNT)
#define FIXNUMP(object) \
(((unsigned long)(object) & BIT_MASK) == FIXNUM_MASK)