From: nobu.nokada@... Date: 2004-08-28T11:25:29+09:00 Subject: Re: Compilation fails for Altix (IA64) Hi, At Sat, 28 Aug 2004 03:43:39 +0900, Bil Kleb wrote in [ruby-talk:110682]: > During compile of the 08-26-2004 stable snapshot, I get a warning: > > gcc -g -O2 -I. -I. -c eval.c > eval.c: In function `massign': > eval.c:4912: warning: cast from pointer to integer of different size > > For convenience, > > 4907 assign(self, list->nd_head, RARRAY(val)->ptr[i], pcall); > 4908 list = list->nd_next; > 4909 } > 4910 if (pcall && list) goto arg_error; > 4911 if (node->nd_args) { > 4912 if ((int)(node->nd_args) == -1) { > 4913 /* no check for mere `*' */ > 4914 } > 4915 else if (!list && i 4916 assign(self, node->nd_args, rb_ary_new4(len-i, RARRAY(val)->ptr+i), pcall); I think that it is fixed in CVS already. This is the backport. Index: eval.c =================================================================== RCS file: /cvs/ruby/src/ruby/eval.c,v retrieving revision 1.616.2.44 diff -U2 -p -d -r1.616.2.44 eval.c --- eval.c 25 Aug 2004 19:39:14 -0000 1.616.2.44 +++ eval.c 28 Aug 2004 02:22:13 -0000 @@ -4910,5 +4910,5 @@ massign(self, node, val, pcall) if (pcall && list) goto arg_error; if (node->nd_args) { - if ((int)(node->nd_args) == -1) { + if ((long)(node->nd_args) == -1) { /* no check for mere `*' */ } @@ -5611,5 +5611,5 @@ rb_call0(klass, recv, id, oid, argc, arg argc, i); } - if ((int)node->nd_rest == -1) { + if ((long)node->nd_rest == -1) { int opt = i; NODE *optnode = node->nd_opt; @@ -5646,5 +5646,5 @@ rb_call0(klass, recv, id, oid, argc, arg } local_vars = ruby_scope->local_vars; - if ((int)node->nd_rest >= 0) { + if ((long)node->nd_rest >= 0) { VALUE v; -- Nobu Nakada