public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
@ 2003-04-10 20:56 Volker Reichelt
0 siblings, 0 replies; 5+ messages in thread
From: Volker Reichelt @ 2003-04-10 20:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: giovannibajo@libero.it
Cc: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
larsbj@gullik.net, bangerth@ices.utexas.edu
Subject: Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member
as A::i
Date: Thu, 10 Apr 2003 22:47:38 +0200 (CEST)
On 10 Apr, Giovanni Bajo wrote:
> I think this audit trail is too complex now. I'd rather split it up into
> smaller new bug reports and close this one. You can still have a link in the
> description to this PR in case it's really needed.
I agree.
> This should be filed as a confusing error message / change request. I
> personally believe that mainline's message is even more confusing. The error
> message should also at least mention that A::i is not a static member.
> Comeau's error message is "a non-static member reference must be relative to
> a specific object".
> Would you please file this separately?
>
>> * The accepts-illegal bug in the case "A::j" still persists on mainline.
>> I changed the synopsis to reflect the situation.
>
> This is a very serious regression in my opionion. Would you please post it
> in a separate and clear PR?
You're right. I'll file one for the accepts-illegal bug and one for the
less-than-ideal error message and close this PR afterwards.
>> The boost problems regarding the 3.3 branch are probably a different
>> issue (an ICE in c_expand_expr, at c-common.c happens quite often -
>> the reason for the failure is usually buried elsewhere).
>> Alas there are no more recent results available on
>>
>> http://cci.lbl.gov/boost/results/
>>
>> The tests were performed with gcc 3.3-20030306. If the problems with the
>> 3.3 branch persist, we should probably have a look at it. Could you test
>> it with a more recent compiler, Giovanni?
>
> Sure, will do. If you think they are not related, this PR can be closed once
> the new PRs are submitted.
And you'll file a new PR for the gcc 3.3 vs. boost issue, if that is
still not solved, right?
> Giovanni Bajo
Regards,
Volker
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
@ 2003-04-10 20:56 Giovanni Bajo
0 siblings, 0 replies; 5+ messages in thread
From: Giovanni Bajo @ 2003-04-10 20:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: "Giovanni Bajo" <giovannibajo@libero.it>
To: "Volker Reichelt" <reichelt@igpm.rwth-aachen.de>
Cc: <gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<larsbj@gullik.net>,
<bangerth@ices.utexas.edu>
Subject: Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
Date: Thu, 10 Apr 2003 22:53:28 +0200
Volker Reichelt <reichelt@igpm.rwth-aachen.de> wrote:
>> Sure, will do. If you think they are not related, this PR can be closed
>> once the new PRs are submitted.
>
> And you'll file a new PR for the gcc 3.3 vs. boost issue, if that is
> still not solved, right?
Just checked: I recompiled those files in Boost.Python with 3.3 20030401
without being able to reproduce the ICE. It seems fixed. Maybe it was worked
around by Boost before release, I don't know. Anyway, nothing left for this
PR.
Giovanni Bajo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
@ 2003-04-10 20:26 Giovanni Bajo
0 siblings, 0 replies; 5+ messages in thread
From: Giovanni Bajo @ 2003-04-10 20:26 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: "Giovanni Bajo" <giovannibajo@libero.it>
To: "Volker Reichelt" <reichelt@igpm.rwth-aachen.de>
Cc: <gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<larsbj@gullik.net>,
"Wolfgang Bangerth" <bangerth@ices.utexas.edu>
Subject: Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
Date: Thu, 10 Apr 2003 22:17:45 +0200
Volker Reichelt <reichelt@igpm.rwth-aachen.de> wrote:
> For the record:
I think this audit trail is too complex now. I'd rather split it up into
smaller new bug reports and close this one. You can still have a link in the
description to this PR in case it's really needed.
> * The ICE in the case with "A::i" is fixed (mainline as of gcc 20030406).
> The error message, however, could still use some improvement:
>
> PR9443A.cc: In member function `int B<<anonymous> >::foo() [with int
> <anonymous> = 0]':
> PR9443A.cc:15: instantiated from here
> PR9443A.cc:12: error: 'struct B<0>' has no member named 'i'
>
> We tried to access A::i and not B<0>::i as the error message suggests.
> This is as bad as the message on the 3.3 branch:
>
> PR9443A.cc: In member function `int B<<anonymous> >::foo() [with int
> <anonymous> = 0]':
> PR9443A.cc:15: instantiated from here
> PR9443A.cc:12: error: type `A' is not a base type for type `B<0>'
>
> In fact you can make the code legal if you derive B from A, so this
> might actually help in some situations.
This should be filed as a confusing error message / change request. I
personally believe that mainline's message is even more confusing. The error
message should also at least mention that A::i is not a static member.
Comeau's error message is "a non-static member reference must be relative to
a specific object".
Would you please file this separately?
> * The accepts-illegal bug in the case "A::j" still persists on mainline.
> I changed the synopsis to reflect the situation.
This is a very serious regression in my opionion. Would you please post it
in a separate and clear PR?
> The boost problems regarding the 3.3 branch are probably a different
> issue (an ICE in c_expand_expr, at c-common.c happens quite often -
> the reason for the failure is usually buried elsewhere).
> Alas there are no more recent results available on
>
> http://cci.lbl.gov/boost/results/
>
> The tests were performed with gcc 3.3-20030306. If the problems with the
> 3.3 branch persist, we should probably have a look at it. Could you test
> it with a more recent compiler, Giovanni?
Sure, will do. If you think they are not related, this PR can be closed once
the new PRs are submitted.
Giovanni Bajo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
@ 2003-04-10 19:46 Volker Reichelt
0 siblings, 0 replies; 5+ messages in thread
From: Volker Reichelt @ 2003-04-10 19:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: giovannibajo@libero.it
Cc: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
larsbj@gullik.net
Subject: Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member
as A::i
Date: Thu, 10 Apr 2003 21:44:00 +0200 (CEST)
For the record:
* The ICE in the case with "A::i" is fixed (mainline as of gcc 20030406).
The error message, however, could still use some improvement:
PR9443A.cc: In member function `int B<<anonymous> >::foo() [with int
<anonymous> = 0]':
PR9443A.cc:15: instantiated from here
PR9443A.cc:12: error: 'struct B<0>' has no member named 'i'
We tried to access A::i and not B<0>::i as the error message suggests.
This is as bad as the message on the 3.3 branch:
PR9443A.cc: In member function `int B<<anonymous> >::foo() [with int
<anonymous> = 0]':
PR9443A.cc:15: instantiated from here
PR9443A.cc:12: error: type `A' is not a base type for type `B<0>'
In fact you can make the code legal if you derive B from A, so this
might actually help in some situations.
* The accepts-illegal bug in the case "A::j" still persists on mainline.
I changed the synopsis to reflect the situation.
* I probably reduced the testcase a little too much. The ICE also happened
with the following testcase which is indeed legal-code (and reflects the
problem in the original example more accurately). As a side-effect
the synopsis was a bit misleading, but I changed that anyway.
------------------------snip here----------------------
struct A
{
int i;
};
template <int> struct B : A
{
int foo() { return A::i; }
};
void bar() { B<0>().foo(); }
------------------------snip here----------------------
This should answer your question, Giovanni, at least partially: Boost
doesn't contain illegal code (at least not in that spot).
The boost problems regarding the 3.3 branch are probably a different
issue (an ICE in c_expand_expr, at c-common.c happens quite often -
the reason for the failure is usually buried elsewhere).
Alas there are no more recent results available on
http://cci.lbl.gov/boost/results/
The tests were performed with gcc 3.3-20030306. If the problems with the
3.3 branch persist, we should probably have a look at it. Could you test
it with a more recent compiler, Giovanni?
Regards,
Volker
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
@ 2003-03-16 7:06 Giovanni Bajo
0 siblings, 0 replies; 5+ messages in thread
From: Giovanni Bajo @ 2003-03-16 7:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/9443; it has been noted by GNATS.
From: "Giovanni Bajo" <giovannibajo@libero.it>
To: <gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>,
<nobody@gcc.gnu.org>,
<gcc-prs@gcc.gnu.org>,
<larsbj@gullik.net>
Cc: <reichelt@igpm.rwth-aachen.de>
Subject: Re: c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i
Date: Sun, 16 Mar 2003 07:57:07 +0100
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=9443
Please, notice this Boost regression test
http://cci.lbl.gov/boost/results/1047771420/dailylog_linux_gcc33, which
shows this same ICE happening on 3.3, as of today. I believe it should be
possible to reproduce the ICE with a GCC 3.3 and Boost RC_1_30, maybe even
compiling the original snippet code. If so, this should be high-priority 3.3
regression, IMO.
Volker, did your illegal code really come from Boost before simplification?
Does Boost have illegal code like that?
Giovanni Bajo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-04-10 20:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-10 20:56 c++/9443: [3.4 regression] ICE when accessing a nonstatic member as A::i Volker Reichelt
-- strict thread matches above, loose matches on Subject: below --
2003-04-10 20:56 Giovanni Bajo
2003-04-10 20:26 Giovanni Bajo
2003-04-10 19:46 Volker Reichelt
2003-03-16 7:06 Giovanni Bajo
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).