case ALLOSYMB:
case ALLOARCH:
case ALLOMODL:
+ case ALLORANL:
break; /* Do not try to deallocate this. */
default:
dealloc(i);
char *q = address(piece, mems[piece].mem_full);
assert(p < q);
- mems[piece].mem_full -= ((ind_t)q - (ind_t)p);
- mems[piece].mem_left += ((ind_t)q - (ind_t)p);
+ switch(sizeof(unsigned) == sizeof(char *)) {
+ case 1:
+ mems[piece].mem_full -= (unsigned) (q - p);
+ mems[piece].mem_left += (unsigned) (q - p);
+ break;
+ default:
+ mems[piece].mem_full -= (ind_t) q - (ind_t) p;
+ mems[piece].mem_left += (ind_t) q - (ind_t) p;
+ break;
+ }
}
/*
#define ALLORANL (ALLOMODL + 1) /* Ranlib information. */
#define NMEMS (ALLORANL + 1)
-typedef long ind_t;
#define BADOFF ((ind_t)-1)
+typedef long ind_t;
+
struct memory {
char *mem_base;
ind_t mem_full;