This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/20493] [4.0 Regression] Bootstrap failure


------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2005-03-16 14:43 -------
Subject: Re:  [4.0 Regression] Bootstrap failure

> This patch might fix the problem.  Basically we should not do canonicalizing if
> one side is an integer constant.  Could you test this for me since I don't have
> access to hppa-linux-gnu at all (or any other hppa machine)?

I'll try it tonight.

> Also does the 4.0 branch fail or just the mainline?

I believe both.  I noticed it first in a 4.0.0.

> Oh, in the following code should we be doing the canonicalizing:
> typedef int (*fptr_t) (void);
> int f (fptr_t t)
> {
>   return t == (fptr_t)-1;
> }
> 
> Because after this patch we don't, I don't know if this is the correct thing to
> do or not, I want to say yes but you should know better.

I would say that the above should cause canonicalization.

The treatment of special pointers is poorly defined.  I had to treat -1
and pointers to low memory (~ page 0) as special.  They are used by the
signal handler.  The same problem occurs on the 32-bit hpux port.

Dave


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]