public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: fix for PR 4447: is this really correct?
@ 2001-11-23 22:03 mike stump
  2001-11-24  5:14 ` Joe Buck
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: mike stump @ 2001-11-23 22:03 UTC (permalink / raw)
  To: gcc, jbuck, lerdsuwa

> From: Joe Buck <jbuck@synopsys.COM>
> To: gcc@gcc.gnu.org, lerdsuwa@users.sourceforge.net
> Date: Fri, 30 Nov 2001 11:20:51 -0800 (PST)

> Mark approved, assuming the usual testing requirements are met.

:-(

> I've now verified that this fix doesn't break any C++ or libstdc++
> tests (other tests aren't relevant since this only affects cc1plus).

If I understand the fix, it is worse than not having it, as it hides a
real bug?

> But I am now not sure that this fix is quite correct, though it does
> improve things.

I think the ICE is preferable, as otherwise you have to explain that
you have to break the ABI, which is worse.

> on Solaris gives

> 0000000000 T foo(T<true, 3>, T<true, 4>)
> 0000000000 T T<(true)&&(true), ((3)+(4))-(operator int((true)&&(true)))> func<true, true, 3, 4>(T<true, 3>, T<true, 4>)

Ick!  Looks like a bug.

> Comments?  I may still want this for 3.0.3, because it does make
> some cases that ICE'd before work correctly

Is that working correctly?  I don't think so.  From an, I don't care
about the abi, yes, it works fine, but from an, gosh, what do you mean
you totally broke the abi, I thought you said you weren't going to do
that, it looks like absolute horror.

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: fix for PR 4447: is this really correct?
@ 2001-12-03 15:40 mike stump
  0 siblings, 0 replies; 19+ messages in thread
From: mike stump @ 2001-12-03 15:40 UTC (permalink / raw)
  To: jbuck; +Cc: gcc, lerdsuwa

> From: Joe Buck <jbuck@synopsys.com>
> To: mrs@windriver.com (mike stump)
> Date: Sat, 1 Dec 2001 16:14:30 -0800 (PST)
> Cc: jbuck@synopsys.com, gcc@gcc.gnu.org, lerdsuwa@users.sourceforge.net

> I wrote:
> > > I'd prefer to have neither the ICE nor the ABI breakage, but I'd
> > > prefer the latter to the former.

> However, it turns out that the strange mangling is exactly what the
> ABI specifies, according to Kriang, so the issue is moot.

Ok, I withdraw all my comments.  Certainly more is going on than I
ever imagined.

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: fix for PR 4447: is this really correct?
@ 2001-11-24 15:40 mike stump
  2001-11-30 18:14 ` mike stump
  2001-12-01 16:14 ` Joe Buck
  0 siblings, 2 replies; 19+ messages in thread
From: mike stump @ 2001-11-24 15:40 UTC (permalink / raw)
  To: jbuck; +Cc: gcc, lerdsuwa

> From: Joe Buck <jbuck@synopsys.com>
> To: mrs@windriver.com (mike stump)
> Date: Fri, 30 Nov 2001 16:20:32 -0800 (PST)

> > > But I am now not sure that this fix is quite correct, though it does
> > > improve things.
> > 
> > I think the ICE is preferable, as otherwise you have to explain that
> > you have to break the ABI, which is worse.

> I'd prefer to have neither the ICE nor the ABI breakage, but I'd
> prefer the latter to the former.

Personally, I didn't think it would be possible to maintain the abi,
and I previously said as much.  We can get close, but it is fairly
hard.  We have to decide, create more abi headaches for the future
now, or not.  The benefit of the headache, is, more programs can be
compiled.  It we are very serious about the abi, the answer must be
no.  If we are not as serious about it, we can put the fix into the
compiler, and create the abi headache.  I leave the final decision to
those folks that want to make it.  I just wanted to point out the
consequence of the action and ensure that everone knew that we were
going to purposefully create a new abi incompatibility that didn't
previously exist.

> Yes.  Maybe it's possible to fix the bug by applying a
> constant-folding operation to template arguments before the mangler
> is called.

They should be folded way early.

> News flash: 3.1 will have a couple of minor ABI bug fixes

:-(  Such is life.

> so it seems that we're already in a position to break the ABI,

We don't just doom 3.1 to breaking, but some random future version of
the compiler, with luck, it will just be 3.1.

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: GCC 3.0.3
@ 2001-11-21 22:25 Joe Buck
  2001-11-23 14:47 ` fix for PR 4447: is this really correct? Joe Buck
  0 siblings, 1 reply; 19+ messages in thread
From: Joe Buck @ 2001-11-21 22:25 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: gcc


> Please remember that Dec 1. is the freeze date for changes going into
> GCC 3.0.3.  Non-documentation changes will require my approval after
> that point.
> 
> I have received some important bug reports from people.  I will be
> posting a list of those shortly.  We will try to fix these before the
> release if possible.

I'd like to see the fix to PR #4447 back-ported from the trunk to 3.0.3.
Actually I don't think any porting is needed, as it's a fix to mangle.c,
which hasn't had many changes; no, it doesn't change the ABI because
hitting the relevant code caused a core dump before.

This PR is an ICE and a regression from 2.95.x.

I believe that the relevant patch is

2001-11-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* mangle.c (write_expression): Handle CAST_EXPR, STATIC_CAST_EXPR,
	CONST_CAST_EXPR.
	* operators.def: Add CAST_EXPR, STATIC_CAST_EXPR, CONST_CAST_EXPR.


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2001-12-03 23:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-23 22:03 fix for PR 4447: is this really correct? mike stump
2001-11-24  5:14 ` Joe Buck
2001-11-30 16:20   ` Joe Buck
2001-11-30 15:23 ` mike stump
2001-12-03  9:49 ` Mark Mitchell
2001-12-03  9:53   ` Joe Buck
2001-12-03  9:56     ` Mark Mitchell
  -- strict thread matches above, loose matches on Subject: below --
2001-12-03 15:40 mike stump
2001-11-24 15:40 mike stump
2001-11-30 18:14 ` mike stump
2001-12-01 16:14 ` Joe Buck
2001-11-21 22:25 GCC 3.0.3 Joe Buck
2001-11-23 14:47 ` fix for PR 4447: is this really correct? Joe Buck
2001-11-24 20:36   ` Kriang Lerdsuwanakij
2001-11-30 23:02     ` Kriang Lerdsuwanakij
2001-12-01 16:08     ` Joe Buck
2001-12-02  3:12       ` Kriang Lerdsuwanakij
2001-12-03  9:42         ` Mark Mitchell
2001-12-01 17:32     ` Alexandre Oliva
2001-11-30 11:20   ` Joe Buck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).