CC'ing new maintainer.

On Thu, Sep 07, 2006 at 06:44:36PM +0200, Martin Michlmayr wrote:
> * 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?

I don't know.  You might be able to use a union initializer in the same
way.

-- 
Daniel Jacobowitz
CodeSourcery


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to