This is the mail archive of the gcc-patches@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]

Re: illegally shared subreg


Geoff Keating wrote:

Date: Fri, 11 Oct 2002 10:31:40 -0400 (EDT)
From: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>


Geoff/Stuart,

This patch:

> 2002-10-10  Stuart Hastings  <stuart@apple.com>
>  > 	* cse.c (struct cse_reg_info): Add subreg_ticked.
> 	(SUBREG_TICKED): New.
> 	(get_cse_reg_info): Initialize SUBREG_TICKED.
> 	(mention_regs): Use it.
> 	(invalidate): Set SUBREG_TICKED.
> 	(invalidate_for_call): Likewise.
> 	(addr_affects_sp_p): Likewise.

can't be right.  It causes these new warnings:

> cse.c:1226: warning: comparison between pointer and integer
> cse.c:1233: warning: assignment makes integer from pointer without a cast

because you've got an int on one side and an rtx on the other.
(Irix6-cc gets a hard error on these lines instead of a warning.)

*sigh*.  The code would have worked in nearly all circumstances, since
REGs are usually shared.  I will commit a patch (following Graham's
suggestion) to fix the problem shortly.


PS: I wish the regression checker would notice warning regressions to
catch things like this.  I.e. things that don't cause a bootstrap or
testsuite failure, but which are clearly bugs.  We've discussed
strategies for implementing this without too much trouble in the past,
I hope this example will encourage you to see that it's worthwhile. :-)

Yes.  I'd really rather notice this sort of thing before it gets to
the regression tester, though, ideally with a build failure; there are
no circumstances under which 'assignment makes integer from pointer'
is an OK warning while bootstrapping GCC, and notice that both Stuart
and I both bootstrapped with this patch and didn't notice the warning.

Thus the oft-expressed wish to have -Werror in the 2nd and 3rd stages...

How close are we anyway?  Warnings in the mainline bootstrap seem
to be few and far between these days, in fact I can't remember the
last time I saw one.

Stan








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