Index: variable.c =================================================================== --- variable.c (revision 22907) +++ variable.c (working copy) @@ -963,7 +963,7 @@ iv_index_tbl = ROBJECT_IV_INDEX_TBL(obj); if (!iv_index_tbl) break; if (!st_lookup(iv_index_tbl, id, &index)) break; - if (len <= index) break; + if (len <= (long)index) break; val = ptr[index]; if (val != Qundef) return val; @@ -1024,7 +1024,7 @@ ivar_extended = 1; } len = ROBJECT_NUMIV(obj); - if (len <= index) { + if (len <= (long)index) { VALUE *ptr = ROBJECT_IVPTR(obj); if (index < ROBJECT_EMBED_LEN_MAX) { RBASIC(obj)->flags |= ROBJECT_EMBED; @@ -1037,7 +1037,7 @@ VALUE *newptr; long newsize = (index+1) + (index+1)/4; /* (index+1)*1.25 */ if (!ivar_extended && - iv_index_tbl->num_entries < newsize) { + (long)(iv_index_tbl->num_entries) < newsize) { newsize = iv_index_tbl->num_entries; } if (RBASIC(obj)->flags & ROBJECT_EMBED) { @@ -1081,7 +1081,7 @@ iv_index_tbl = ROBJECT_IV_INDEX_TBL(obj); if (!iv_index_tbl) break; if (!st_lookup(iv_index_tbl, id, &index)) break; - if (ROBJECT_NUMIV(obj) <= index) break; + if (ROBJECT_NUMIV(obj) <= (long)index) break; val = ROBJECT_IVPTR(obj)[index]; if (val != Qundef) return Qtrue; @@ -1238,7 +1238,7 @@ iv_index_tbl = ROBJECT_IV_INDEX_TBL(obj); if (!iv_index_tbl) break; if (!st_lookup(iv_index_tbl, id, &index)) break; - if (ROBJECT_NUMIV(obj) <= index) break; + if (ROBJECT_NUMIV(obj) <= (long)index) break; val = ROBJECT_IVPTR(obj)[index]; if (val != Qundef) { ROBJECT_IVPTR(obj)[index] = Qundef;