From 99eb12a282e19bb39aa0dfccf349f703e636c2e3 Mon Sep 17 00:00:00 2001 From: George Koehler Date: Sun, 16 Sep 2012 19:57:07 -0400 Subject: [PATCH] Fix fit16i() for systems with 64-bit long. (long)0xFFFF8000 had expanded to 0x00000000FFFF8000. With (long)(-0x8000), the compiler now extends the negative sign. --- modules/src/em_code/k/em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/src/em_code/k/em.c b/modules/src/em_code/k/em.c index 752607254..73f0c6884 100644 --- a/modules/src/em_code/k/em.c +++ b/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)