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)