* Martin Michlmayr <[EMAIL PROTECTED]> [2006-09-06 13:34]: > > gcc -c sysutil.c -g -O2 -Wall -W -Wshadow -idirafter dummyinc > > sysutil.c: In function 'vsf_sysutil_wait_exited_normally':
> { > - return WIFEXITED(p_waitret->exit_status); > + return WIFEXITED((struct vsf_sysutil_wait_retval *)p_waitret->exit_status); > } Dan, maybe you have some time to look at this issue more deeply. Here's a smal testcase: struct rx_length_info { unsigned short tag; }; void f(void) { const struct rx_length_info *length_info; __typeof__ (*(&length_info->tag)) __v = *(&length_info->tag); } pinskia pointed out that it works with the following change: - __typeof__ (*(&length_info->tag)) __v; - __v = *(&length_info->tag); + __typeof__ (*(&length_info->tag)) __v = *(&length_info->tag); /usr/include/stdlib.h defines: # define __WAIT_INT(status) (__extension__ ({ union { __typeof(status) __in; int __i; } __u; \ __u.__in = (status); __u.__i; })) Is there some way this could be rewritten so applications don't need to cast the const away? -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]