------- Additional Comments From pinskia at physics dot uc dot edu  2005-08-13 
21:44 -------
Subject: Re:  [4.0.x regression] Generates wrong code for funcptr comparison


On Aug 13, 2005, at 5:42 PM, danglin at gcc dot gnu dot org wrote:

>
> ------- Additional Comments From danglin at gcc dot gnu dot org  
> 2005-08-13 21:42 -------
> Bah, while this is probably going to happen for hppa-linux, it'snever 
> going to happen for hppa-hpux.  GCC's treatment of functionpointers 
> here is just WRONG.There are a couple of issues.  The most serious is 
> the following:We have the following code from __pthread_sigaction in 
> the .i file:   if (old == ((__sighandler_t) 1) || old == 
> ((__sighandler_t) 0) || old == ((__sighandler_t) -1))     
> __sighandler[sig].old = (arch_sighandler_t) 
> act->__sigaction_handler.sa_handler;This is what the above turns into 
> in the tree dump filebug321785.c.t02.original:          if ((void 
> (*<T2bd>) (int)) old - 2B > -4B)            {              
> __sighandler[sig].old = (void (*<T431>) (int, struct sigcontext *)) 
> act->__sigaction_handler.sa_handler;            }I don't believe that 
> the transformation is valid.


hmm, looks like another build_range_test bug.

-- Pinski



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23369

Reply via email to