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