public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
@ 2003-02-07 15:55 bangerth
0 siblings, 0 replies; 4+ messages in thread
From: bangerth @ 2003-02-07 15:55 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, vil
Old Synopsis: falsely concludes that function defined within class body is virtual and abstract, therefore compiler fails to allow class instantiation with pure virtual function error.
New Synopsis: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
State-Changed-From-To: feedback->analyzed
State-Changed-By: bangerth
State-Changed-When: Fri Feb 7 15:55:05 2003
State-Changed-Why:
Confirmed. This is a smaller testcase:
---------------------------
template <typename T> struct X {
void foo (X);
friend void bar () {}
};
template <typename T>
void X<T>::foo (X x) {}
template struct X<int>;
-----------------------------
There seems to be profound confusion within the compiler
about something, since it says
tmp/g> /home/bangerth/bin/gcc-3.2/bin/gcc -c x.cc
x.cc:7: cannot declare parameter `x' to be of type `X<T>'
x.cc:7: because the following virtual functions are abstract:
x.cc:3: void bar()
This is, of course, entirely bogus.
It worked with 3.0, but is broken with present 3.2.2, 3.3
and 3.4 branches, so it's a regression. The testcase is
so simple that I can't believe that this is something
that hasn't come up yet. Hopefully it's simple to fix.
From playing around, it seems to have to do with the fact
that the friend function is not only declared, but also
defined inside the class; it is instantiated at the place
of first use, which is where the error is displayed.
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9602
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
@ 2003-02-24 15:37 lerdsuwa
0 siblings, 0 replies; 4+ messages in thread
From: lerdsuwa @ 2003-02-24 15:37 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, lerdsuwa, vil
Synopsis: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
State-Changed-From-To: analyzed->closed
State-Changed-By: lerdsuwa
State-Changed-When: Mon Feb 24 15:37:18 2003
State-Changed-Why:
Fixed.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9602
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
@ 2003-02-21 14:56 Kriang Lerdsuwanakij
0 siblings, 0 replies; 4+ messages in thread
From: Kriang Lerdsuwanakij @ 2003-02-21 14:56 UTC (permalink / raw)
To: lerdsuwa; +Cc: gcc-prs
The following reply was made to PR c++/9602; it has been noted by GNATS.
From: Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
To: gcc-gnats@gcc.gnu.org, vil@rccp.tsukuba.ac.jp, gcc-bugs@gcc.gnu.org,
lerdsuwa@gcc.gnu.org, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
Date: Fri, 21 Feb 2003 21:53:35 +0700
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9602
Patch submitted:
http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01805.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
@ 2003-02-19 16:15 lerdsuwa
0 siblings, 0 replies; 4+ messages in thread
From: lerdsuwa @ 2003-02-19 16:15 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, lerdsuwa, nobody, vil
Synopsis: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract
Responsible-Changed-From-To: unassigned->lerdsuwa
Responsible-Changed-By: lerdsuwa
Responsible-Changed-When: Wed Feb 19 16:15:37 2003
Responsible-Changed-Why:
Figured out what's wrong.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9602
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-02-24 15:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-07 15:55 c++/9602: [3.2/3.3/3.4 regression] Total confusion about template/friend/virtual/abstract bangerth
2003-02-19 16:15 lerdsuwa
2003-02-21 14:56 Kriang Lerdsuwanakij
2003-02-24 15:37 lerdsuwa
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).