From: me2faster@... Date: 2005-05-10T10:04:30+09:00 Subject: Re: compiler error: argument of type "VALUE *" is incompatible with parameter of type "VALUE" Yes, the patch was not applied correctly, since I had both the following lines, rather than just the second one: .... - (tmp__protect_tmp = rb_node_newnode(NODE_ALLOCA, \ + (tmp__protect_tmp = NEW_NODE(NODE_ALLOCA, \ .... However, the original errors persist: /usr/bin/c89 -g -Wnowarn -I. -I. -c eval.c SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3206: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3206: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3224: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3224: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3239: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3239: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3275: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 3275: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" SETUP_ARGS0(node->nd_args->nd_next, node->nd_args->nd_alen - 1); ^ "/home/ruby-1.8.2/eval.c", line 3332: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS0(node->nd_args->nd_next, node->nd_args->nd_alen - 1); ^ "/home/ruby-1.8.2/eval.c", line 3332: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" VALUE *vars = TMP_ALLOC(node->nd_tbl[0]+1); ^ "/home/ruby-1.8.2/eval.c", line 3918: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" VALUE *vars = TMP_ALLOC(node->nd_tbl[0]+1); ^ "/home/ruby-1.8.2/eval.c", line 3918: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 5073: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" SETUP_ARGS(node->nd_args); ^ "/home/ruby-1.8.2/eval.c", line 5073: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" local_vars = TMP_ALLOC(body->nd_tbl[0]+1); ^ "/home/ruby-1.8.2/eval.c", line 5563: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE" local_vars = TMP_ALLOC(body->nd_tbl[0]+1); ^ "/home/ruby-1.8.2/eval.c", line 5563: error(252): argument of type "NODE *" is incompatible with parameter of type "VALUE" 16 errors detected in the compilation of "eval.c". And at least the first error (and I suspect the subsequent errors, too) related to the following pre-processed code appears to be valid: argv = (tmp__protect_tmp = rb_node_newnode(NODE_ALLOCA, (VALUE* )ruby_xmalloc(sizeof(VALUE)*(argc)),tmp__protect_tmp,argc), (void*)tmp__protect_ tmp->u1 . node); ^ "/home/ruby-1.8.2/temp/eval.c", line 5164: error(252): argument of type "VALUE *" is incompatible with parameter of type "VALUE"