* 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]

Reply via email to