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