On 09 Jun 2005, at 17:27, Eric Hodel wrote:

> Somehow the rb_fd_init macro is conflicting with the definition of  
> rb_fd_init in eval.c.

Uh, I suppose I should have the breakage here too:

gcc -E gives:
# 9812 "eval.c"void
__builtin_bzero(fds, sizeof(*(fds)))    volatile rb_fdset_t *fds;{
     fds->maxfd = 0;    fds->fdset = (fd_set*)ruby_xmalloc(sizeof 
(fd_set));
     __builtin_bzero(fds->fdset, sizeof(*(fds->fdset)));
}

$ make
gcc -g -O2 -pipe -fno-common   -I. -I.  -c eval.c
eval.c:9813: error: parse error before "sizeof"
eval.c:9818: error: parse error before '->' token
eval.c:9823: error: syntax error before "rb_fdset_t"
eval.c:9824: error: parse error before '{' token
eval.c:9831: error: parse error before "sizeof"
eval.c:9836: error: parse error before '->' token
eval.c:9841: error: parse error before '->' token
eval.c:9844: error: parse error before '{' token
eval.c:9846: error: 'struct fd_set' has no member named 'maxfd'
eval.c:9848: error: parse error before "if"
eval.c:9853: error: parse error before '(' token
eval.c:9856: error: parse error before '->' token
eval.c:9860: error: parse error before '->' token
eval.c:9863: error: parse error before '{' token
eval.c:9865: error: parse error before '->' token
eval.c:9869: error: parse error before '->' token
eval.c:9871: error: conflicting types for 'fds'
eval.c:9862: error: previous declaration of 'fds' was here
eval.c:9872: error: parse error before '{' token
eval.c:9878: error: parse error before '=' token
eval.c:9882: error: parse error before '{' token
eval.c:9888: error: parse error before '->' token
eval.c:9888: error: conflicting types for 'memcpy'
eval.c:9888: warning: data definition has no type or storage class
make: *** [eval.o] Error 1


-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04