Browse Source

Fix fit16i() for systems with 64-bit long.

(long)0xFFFF8000 had expanded to 0x00000000FFFF8000.
With (long)(-0x8000), the compiler now extends the negative sign.
George Koehler 11 years ago
parent
commit
eff81b4687
1 changed files with 1 additions and 1 deletions
  1. 1 1
      modules/src/em_code/k/em.c

+ 1 - 1
modules/src/em_code/k/em.c

@@ -26,7 +26,7 @@ C_magic()
 }
 
 /***    the compact code generating routines	***/
-#define	fit16i(x)	((x) >= (long)0xFFFF8000 && (x) <= (long)0x00007FFF)
+#define	fit16i(x)	((x) >= (long)(-0x8000) && (x) <= (long)0x7FFF)
 #define	fit8u(x)	((x) <= 0xFF)		/* x is already unsigned */
 
 C_pt_ilb(l)